Vue组件

作者 新城 日期 2017-10-09
Vue
Vue组件

基础

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 定义一个混合对象
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!"

选项合并

当组件和混合对象含有同名选项时,这些选项将以恰当的方式混合。比如,同名钩子函数将混合为一个数组,因此都将被调用。另外,混合对象的 钩子将在组件自身钩子 之前 调用 :

1
2
3
4
5
6
7
8
9
10
11
var mixin = {
created: function () {
console.log('混合对象的钩子被调用')
}
}
new Vue({
mixins: [mixin],
created: function () {
console.log('组件钩子被调用')
}
})

小结
混合就是将方法放置在外部 然后在内部调用 内外同名的函数 内部会覆盖外部的函数