组件名
在注册一个组件的时候,我们始终需要给她起一个名字,比如在全局注册的时候我们就已经看到了
vue.component('my-component-name',{/*...*/})
该组件名就是 Vue.component
的第一个参数
全局注册
到目前为止,我们只用过 Vue.component
来创建组件
Vue.component('my-component-name', {
// ... 选项 ...
})
这些组件是全局注册的,也就是说她们在注册之后可以用在任何新创建的Vue根实例的模板中
局部注册
全局注册往往是不够理想的, 比如:如果使用一个像webpack这样的构建系统,全局注册所有的组件意味着即便你已经不再使用一个组件了,她仍然会被包含在你最终的构建结果中,这造成了用户下载的JavaScript的无谓的增加
在这些情况下,你可以通过一个普通的 JavaScript对象来定义组件
var ComponentA = { /* ... */ }
var ComponentB = { /* ... */ }
var ComponentC = { /* ... */ }
然后在 components
选项中定义想要使用的组件
new Vue({
el: '#app',
components: {
'component-a': ComponentA,
'component-b': ComponentB
}
})
对于components
对象中的每个 property 来说,其 property 名就是自定义元素的名字,其 property 值就是这个组件的选项对象。
注意局部注册的组件在其子组件中不可用