vue学习—组件的定义注册
组件的定义注册
效果:

方法一:
<div id="box">
<v-header></v-header>
<hr />
<br />
{{name}}
<hr />
<br />
<v-footer></v-footer>
</div>
<script>
//1.定义组件
var Header={
template:'<h2>这是一个头部组件</h2>'
}
//2.注册组件
Vue.component('v-header',Header); var Footer={
template:'<h2>这是一个底部组件</h2>'
}
Vue.component('v-footer',Footer);/*组件名称不能用html标签*/ //注意: 组件名称不能和html标签一样
var vm=new Vue({
el:'#box',
data:{
name:'hello world'
}
})
</script>
方法二:
//定义组件和注册组件放在一起
Vue.component('v-footer',{
template:'<div><h2>这是一个底部组件</h2></div>'
})
方法三(用的最多):
//1.定义组件
var Header={
template:'<h2>这是一个头部组件</h2>'
} //1.定义组件
var Footer={
template:'<h2>这是一个footer组件</h2>'
} var vm=new Vue({
el:'#box',
data:{
name:'ahah'
},
components:{
//2.注册组件
'v-header':Header,
'v-footer':Footer
}
})
方法四:
var vm=new Vue({
el:'#box',
data:{
name:'hhahhah'
},
components:{
'v-header':{
template:'<h2>这是一个头部组件</h2>'
},
'v-footer':{
template:'<h2>这是一个footer组件</h2>'
}
}
})
vue组件的定义注册-深入
<div id="box">
<v-header></v-header>
<hr />
<br />
{{name}}
<hr />
<br />
<v-footer></v-footer>
</div>
<template id="header">
<div>
<h2>这是一个头部组件--{{msg}}</h2>
<div class="button" @click="setData()">
点击改变msg
</div>
</div>
</template>
<template id="footer">
<h2>这是一个底部组件--{{msg}}</h2>
</template>
<script>
var Header={
template:'#header',
data:function(){
return {
msg:'这是头部组件的msg'
}
},methods:{
setData:function(){
this.msg='改变头部组件的内容'
}
}
}
var Footer={
template:'#footer',
data:function(){
return {
msg:'这是底部组件的msg'
}
}
} var vm=new Vue({
el:'#box',
data:{
name:'haha'
},
components:{
'v-header':Header,
'v-footer':Footer
}
})
</script>

点击按钮之后:

//------------------------------------------------------------------------------------------
vue组件 - 模板
<div id="box">
{{msg}}
<v-header></v-header>
<br />
<br />
<v-footer></v-footer>
</div>
<script type="x-template" id="header">
<div class="header">
<h2>这是标题</h2>
<p>{{msg}}</p>
<button @click="run()">这是一个按钮</button>
</div>
</script>
<template id="footer">
<div class="footer">
<h2>这是底部组件的标题</h2>
<p>这是一个底部组件的内容</p>
<p>这是一个底部组件的内容</p>
</div>
</template>
<script>
//注意:模板里面所有的东西要被根元素包裹起来
//定义组件
var Header={
template:'#header',
data:function(){
return {
msg:'这是头部,哈哈哈'
}
},methods:{
run:function(){
alert('run');
}
}
} var Footer={
template:'#footer'
}
var vm=new Vue({
el:'#box',
data:{
msg:'hello vue'
},
components:{
//注册组件
'v-header':Header,
'v-footer':Footer
}
})
</script>
vue父子组件
介绍
<div id="box">
{{a}}
<br />
<v-header></v-header>
</div>
<template id="header">
<div>
<h2>
我是头部组件11-{{msg}}
<br />
<v-nav></v-nav>
</h2>
</div>
</template>
<template id="nav">
<div>
<h2>这是一个nav组件--{{msg}}</h2>
</div>
</template>
<script>
//要放在组件 v-nav的定义之前
var Nav={
template:'#nav',
data:function(){
return {
msg:'我是nav内容'
}
}
}
var Header={
template:'#header',
data:function(){
return {
msg:'我是header内容'
}
},components:{
'v-nav':Nav
}
}
var vm=new Vue({
el:'#box',
data:{
a:'我是大box'
},
components:{
'v-header':Header,
}
})
</script

vue学习—组件的定义注册的更多相关文章
- java+springBoot+Thymeleaf+vue分页组件的定义
导读 本篇着重介绍java开发环境下,如何写一个vue分页组件,使用到的技术点有java.springBoot.Thymeleaf等: 分页效果图 名称为vuepagerbasic的分页组件,只包含上 ...
- vue项目组件的全局注册
在vue-cli项目中,我们经常会封装自己的组件,并且要在多个界面中引用它,这个时候就需要全局注册组件. 首先我们会封装自己的组件,比如twoDimensionTable文件夹下的index.vue: ...
- 39.VUE学习--组件,子组件中data数据的使用,x-template模板的使用,改变for循环里的某条数据里的值
多处引用相同组件时,操作data不会相互影响 <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...
- Vue学习—组件的学习
1.什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素, Vue.js 的编译器为它添加特殊功能 ...
- Vue学习-组件的基本使用(局部组件)
目录 示例代码 1.创建组件(构造器对象创建-Vue.extend) 2.注册组件 3.使用组件 4.语法糖创建并注册组件 示例代码 http://jsrun.net/H8vKp/edit 1.创建组 ...
- vue学习--组件之间的传值方式
1.概述 vue由多个组件构成页面,在不同的组件中有不同的联系,组件之间的传值是十分有必要的 2.父子组件之间传值 --props和$emit 父传子:通过props 方法:子组件:props:['m ...
- Vue全局组件注册
通过Vue.component(‘组件名’, {配置对象})注册全局组件 在main.js中注册全局组件 test import Vue from 'vue' import App from './A ...
- Vue.js 2.x:组件的定义和注册(详细的图文教程)
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 什么是组件 组件: 组件的出现,就是为了拆分Vue实例的代码量的, ...
- Vue组件的定义、注册和调用
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>组 ...
随机推荐
- adb eclipse 截屏
DDMS 左侧 选中设备 右上角有一个相机样式的按钮"screen capture"
- 【转】webService概述
一.序言: 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是We ...
- 数据库开源框架ormlite
今天听说了ORM框架ORMLITE,特地去了解了一下. 该框架可以使用注解方式来生成数据库表,还封装了常用的数据库操作. 类似J2EE的HIBERNATE框架对数据库的处理. 省去了书写建表语句的麻烦 ...
- java字符编码转换研究(转)
1. 概述 本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是" ...
- Codeforces 1114D Flood Fill (区间DP or 最长公共子序列)
题意:给你n个颜色块,颜色相同并且相邻的颜色块是互相连通的(连通块).你可以改变其中的某个颜色块的颜色,不过每次改变会把它所在的连通块的颜色也改变,问最少需要多少次操作,使得n个颜色块的颜色相同. 例 ...
- SpringBoot06 统一响应格式
1 要求 每个请求成功后,后台返回的响应格式都是一致的,例如: 2 创建一个视图模型 该模型用于格式化响应数据 package cn.xiangxu.springboottest.model.data ...
- SQl Server 函数篇 聚合函数
说一下数据库中的聚合函数 函数使用必须加小括号(), 5种聚合函数: 1.max最大值 select max(price) from car where code='c024' --取这一列中 ...
- docker学习(2)基本命令
原文地址:http://blog.csdn.net/we_shell/article/details/38368137 1. 查看docker信息(version.info) # 查看docker版本 ...
- win10 requireAdministrator设置开机自启动无效的解决方案
开发了一个wpf程序,需要管理员权限,设置了requireAdministrator 同时需要开机自启动,所以添加了注册表: using (RegistryKey key = Registry.Cur ...
- JavaPersistenceWithMyBatis3笔记-第4章SQL Mappers Using Annotations-001
一. 1.Mapper /** * */ package com.mybatis3.mappers; import org.apache.ibatis.annotations.Select; impo ...