阅读时间预估:2分钟
前端
组件系统是 Vue 的另外一个重要概念,由于它是一种抽象,容许咱们使用小型、独立和一般可复用的组件构建大型应用。仔细想一想,几乎任意类型的应用界面均可以抽象为一个组件树,举个栗子,就像小时候玩的积木同样,想要一个好玩的玩具那么就动手一个组件一个组件的拼接吧.vue
// 1 注册全局组件
Vue.component('my-component', {
// template 只能有一个根元素
template: '<p>A custom component!</p>',
// 组件中的 `data` 必须是函数 而且函数的返回值必须是对象
data() {
return {
msg: '注意:组件的data必须是一个函数!!!'
}
}
})
// 2 使用:以自定义元素的方式
<div id="example">
<my-component></my-component>
</div>
// =====> 渲染结果
<div id="example">
<p>A custom component!</p>
</div>
// 3 template属性的值能够是:
- 1 模板字符串
- 2 模板id template: '#tpl'
<script type="text/x-template" id="tpl">
<p>A custom component!</p>
</script>
复制代码
// 注册组件,传入一个扩展过的构造器
Vue.component('my-component', Vue.extend({ /* ... */ }))
// 注册组件,传入一个选项对象 (自动调用 Vue.extend)
Vue.component('my-component', { /* ... */ })
var Home = Vue.extend({
template: '',
data() {}
})
Vue.component('home', Home)
复制代码
var Child = {
template: '<div>A custom component!</div>'
}
new Vue({
// 注意:此处为 components
components: {
// <my-component> 将只在当前vue实例中使用
// my-component 为组件名 值为配置对象
'my-component': {
template: ``,
data () { return { } },
props : []
}
}
})
复制代码
最后git
看完上面的代码,对于善于利用脚手架开发的小伙伴来讲是否是有一丝丝清凉,平时建立组件可不是这么写的,对于使用脚手架开发来讲组件就是一个个Vue的实例,建立一个.vue文件,在须要用到的地方直接引用就OK了,确实是这样的,那么大侠,你可否在仔细深刻的研究下,脚手架是如何把各个组件关联起来的呢?先留个悬念,后面会告诉你答案.程序员
若是个人分享对面前的这位大侠有所启发,请不要吝啬手中大拇指,以程序员最高礼遇点赞✨ 评论加分享的方式鼓励我持续分享,也欢迎各位大佬勘误,提出宝贵意见.github
关注公众号回复:学习 领取前端最新最全学习资料,也能够进群和大佬一块儿学习交流bash