把公共的属性/方法提取出来,减少代码重复——mixins

可以全局配置,也可以单个引入
如果属性/方法有重复,后来的mixin会覆盖前面的,当前组件中的会覆盖mixin里的

单个引入

抽离出公共的属性/方法,保存在一个js中
base.js:
export default {
  data() {
      return {
        firstName: '李'
      }
  },
  methods: {
      intri() {
        console.log("my name is ", this.firstName, this.lastName);
      }
  }
}

在需要的vue中引入
import baseMixin from '../mixins/base'
export default {
    mixins: [baseMixin],
    data() {
        return {
            lastName: '大钊'
        }
    },
    //当此处也有一个intri方法的时候,会把mixins里的覆盖
}

上面两个"混合"所得的结果,和下面效果一样:
export default {
    mixins: [baseMixin],
    data() {
        return {
            lastName: '大钊'
            firstName: '李'
        }
    },
    methods: {
        intri() {
            console.log("my name is ", this.firstName, this.lastName);
        }
    }
}

全局引入

import firMixin from '../mixins/fir'
import secMixin from '../mixins/sec'
app.mixin(firMixin)  //mixin不是mixins
app.mixin(secMixin)  //可以引入多个
这样之后,在其他组件中都不用再引入了,也不需要mixins了,直接用就可以了

posted on 2022-03-03 23:47  In-6026  阅读(107)  评论(0)    收藏  举报

导航