Vue中Mixins使用

mixins是一种分发Vue组件中可复用功能的一种灵活方式。vue

mixins是一个JavaScript对象,能够包含组件中的任意选项,好比Vue实例中生命周期的各个钩子函数,也能够是datacomponentsmethodsdirectives等。在Vue中,mixins为咱们提供了在Vue组件中共用功能的方法。使用方式很简单,将共用的功能以对象的方式传入mixins选项中。当组件使用mixins对象时,全部mixins对象的选项都将被混入该组件自己的选项。数组

简单的说:能够将页面上复用的代码提取出来放在一个js文件里,经过使用mixins引用,页面上能够直接使用mixins里的方法或值等。函数

数据data合并:以组件数据优先
钩子函数合并:会所有被合并到一个数组中,所以都会被执行,而且mixins对象中的钩子会先被执行。
值为对象选项合并:好比methodscomponentsdirectives,将被混合为同一个对象。当两个对象键名冲突时,组件选项优先。code

使用方法

mixins.js component

export const Mixin1 = {
    data() {
      return {
        msg:'111'
      };
    },
    methods: {
      fn1() {
        ...
      },
    }
  };
  export const Mixin2 = {
    methods: {
      fn2() {
      ...
      },
    }
  };

HelloWorld.vue对象

<template>
    <div>
        <button @click="fn2">{{msg}}</button>
    </div>
</template>
<script>
  import {Mixin1, Mixin2} from "./mixins.js";

  export default {
    name: "HelloWorld",
    mixins: [Mixin1, Mixin2]
  };
</script>
相关文章
相关标签/搜索