组件是扩展的 Vue 构造器,“扩展”的含义就是根据自己的需要去定制Vue构造器
MyComp=Vue.extend({template:'<div>我就是组件</div>'})
模板中的
<MyComp>...</MyComp>
是实例化组件的一种方法,
相当于:
new MyComp()
so 实例化的组件就是vue实例
PS0:extend方法
Vue.extend( options )
参数:{Object} options
用法:使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象;
data 选项在 Vue.extend() 中它必须是函数;
PS1:
这里还可以补充一下vuex
vuex的实质就是没有扩展template的Vue组件
PS2:
vue中mixin的混入,其实也是就是对组件拓展,内部是一些组件的复用功能
没有data而已
// 定义一个混入对象
var myMixin = {
created: function () {
this.hello()
},
methods: {
hello: function () {
console.log('hello from mixin!')
}
}
}
// 定义一个使用混入对象的组件
var Component = Vue.extend({
mixins: [myMixin]
})
var component = new Component() // => "hello from mixin!"