Vue中mixin混入

vue中的mixin可以实现组件中重复代码的高度复用,可以将不同组件中重复的组件选项(如,data、created、mounted、components、computed、watch等)都提取出来,形成一个mixin的js文件,在需要用到这些代码时,引入这个js文件即可。

用法

通过mixins属性添加,mixins属性是一个数组,可以添加多个mixin

// mixin.js
export const mixin = {
    // 混合里面可以写入data, methods, computed...等所有
    data(){
        return {
            name: "XX",
            address: "TianJin",
            age: 18
          }
    },
    methods:{
        showDom(){
            console.log(this.$refs)
        }
    }
}
// .vue
import { mixin } from "../mixin.js" export default { name: "School", data() { return { name: "TT", address: "BeiJing" } }, mixins: [mixin] }

特点

当组件和mixin有重复时:

1.若重复的是data,则组件内原本数据会覆盖mixin中的重复数据,若为对象,则深度合并

2.若重复的是对象(如props、methods、inject、computed等),在组件中若有同名的键名存在,则mixin中的会被覆盖,以组件中定义的为准

3.若重复的是component、directives、filters,则优先使用组件中原本的值;若组件中没有,则去mixin中寻找

posted @ 2022-12-22 22:06  邢韬  阅读(123)  评论(0编辑  收藏  举报