mixin 很有用的一个东西
用途
混入 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。
看到这个我很懵???
个人理解:就是把组件中重复功能进行服用的实现方式
用法:选项合并
import child from 'src/components/common/child.vue';
var mixin = {
created: function () {
console.log('混入对象的钩子被调用')
},
mounted(){
console.log("w34")
}
}
export default {
name: 'parent',
mixins: [mixin],
data() {
return {
}
},
created: function() {
console.log("aaa")
},
mounted(){
//界面加载完成后执行
console.log("bbb");
},
methods:{
},
}
全局混入
在main.vue 添加下面代码
Vue.mixin({
created: function () {
console.log('混入对象的钩子被调用')
},
mounted(){
console.log("w34")
}
})
之后在他的子页面都会有上面的代码加入
总结:组件在引用之后相当于在父组件内开辟了一块单独的空间,来根据父组件props过来的值进行相应的操作,单本质上两者还是泾渭分明,相对独立。
而mixins则是在引入组件之后,则是将组件内部的内容如data等方法、method等属性与父组件相应内容进行合并。相当于在引入后,父组件的各种属性方法都被扩充了。