对mixins的理解以及使用

mixins

mixins选项接收一个混入对象的数组,这些混入对象可以想像正常的实例对象一样包含实例选项,这些选项将会被合并到最终的选项中,混入提供了一种非常灵活的方式,来分发vue组建中的功能,当组建使用混入对象时,所有混入对象的选项将混合进入该组建本身的选项。

//mixin组建
export default {
  data() {
    return {
      message: "hello i am mixin"
    };
  }
};
//引入到混合使用的组建中
import subProps from "../mixins/subProps";
mixins: [subProps],
  mounted() {
    console.log(this.message);//hello i am mixin
  },

选项合并

当组建和混入对象含有同名选项时,如数据对象会在内部进行递归合并,并在发生冲突时以组建数据优先。

//mixin组建
export default {
  data() {
    return {
      message: "hello",
      foo: "abc"
    };
  }
};
//引入到混合使用的组建中
import subProps from "../mixins/subProps";
  data() {
    return {
      message: "good",
      bar: "bye",
    };
  },
  mixins: [subProps],
  mounted() {
    console.log(this.message);//good
    console.log(this.bar);//bye
    console.log(this.foo);//abc
  },

混入对象的钩子将在组建自身钩子之前调用

//mixin组建
export default {
  data() {
    return {
      message: "hello",
      foo: "abc"
    };
  },
  created() {
    console.log("abc");
  }
};
//引入到混合使用的组建中
import subProps from "../mixins/subProps";
  created() {
    console.log("def");
  },
  mixins: [subProps],
  //abc   def
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值