vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vue mixin

Vue中混入mixin的用法介绍

作者:爱思考的猪

混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项

什么是混入?

混入通过注入配置项到vue实例用来提升复用性

基础使用

    const myMixin = {
      created: function () {
        this.hello();
      },
      methods: {
        hello: function () {
          console.log('hello from mixin');
        },
      },
    };
    var vm = new Vue({
      el: '#app',
      mixins: [myMixin],
    });

选项合并

选项合并发生在下面两种情况

    const myMixin = {
      created: function () {
        this.hello();
      },
      methods: {
        hello: function () {
          console.log('hello from mixin');
        },
      },
    };
    var vm = new Vue({
      el: '#app',
      mixins: [myMixin],
      created: function () {
        this.hello();
      },
      methods: {
        hello: function () {
          console.log('hello from vue instance');
        },
      },
    });

上述两种的选项合并规则是相同的:

自定义合并规则

除了使用上述默认的合并规则,还可以通过Vue.config.optionMergeStrategies自定义合并规则。

	Vue.config.optionMergeStrategies.myMixin=(toVal, fromVal){
	//返回合并的值
	};

通常对于值为对象的属性我们可以借用已有的合并规则

	//借用methods的规则
	Vue.config.optionMergeStrategies.myMixin=Vue.config.optionMergeStrategies.methods;

全局混入

混入也可以全局注册,使用时候要格外小心,它会影响到每一个组件/实例

    Vue.mixin({
      created: function () {
        console.log('mixin created');
      },
    });
    var vm1 = new Vue(...);
    var vm2 = new Vue(...);

总结

到此这篇关于Vue中混入mixin的用法介绍的文章就介绍到这了,更多相关Vue mixin内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文