一、组件和Vue的相似点及区别:
相似:组件是一个可以复用的Vue实例,需要挂载到Vue的实例;组件中出来el选项 外,同样包含data、computed、watch、methods以及生命周期钩子等。
不同:组件的data必须是一个函数,返回一个对象,Vue实例是对象;组件没有el选 项,Vue实例是对象。
二、注册组件
1、使用Vue.component()方法,方法内两个参数,第一个参数是组件名,第二个则是需要传的数据。Vue实例通过el指定挂载的位置。
<div id="app">
<button-counter></button-counter>
</div>
<script>
var compoent1 = {
data: function() {
raeturn {
count: 0
}
},
template: '<button v-on:click="count++">点击了{{ count }} 次.</button>'
}
Vue.component("button-counter", compoent1);//两个参数
var vm = new Vue({
el: "#app"
});
</script>
注:为避免代码运行出错,组件名不要出现大写
2.全局注册和局部注册
//全局注册:
<div id="app">
<button-counter></button-counter>
</div>
<script>
var compoent1 = {
data: function() {
raeturn {
count: 0
}
},
template: '<button v-on:click="count++">点击了{{ count }} 次.</button>'
}
在Vue实例外注册就是全局注册,反正就是局部注册
new Vue({
el: '#app'
components: {
'component-a': ComponentA,
'component-b': ComponentB
}
})