1、概述
mixins
就是定义一部分公共的方法或者计算属性,然后混入到各个组件中使用,方便管理与统一修改
2、示例
(1)定义一个mixin.js
export const mixinTest1 = { created() { this.hello(); }, methods: { hello() { console.log('mixinTest1'); } } };
(2)组件引入
import {mixinTest1} from './../assets/js/mixin'; export default { mixins:[mixinTest1], name: 'hello', data () { return { msg: 'Welcome to Your Vue.js App' } } }
这样就可以直接调用到混入对象中的hello方法
3、第二个示例
<template>
</template>
<script> import Vue from 'vue'
var mixin = { created: function () { console.log(1) }, methods:{ hello(){ console.log('mixin:hello') } } } export default { data() { return { } }, methods: { hello(){ console.log('组件:hello') } }, created: function () { console.log(2) }, mixins: [mixin], mounted: function(){ this.hello(); } } </script>
输出为:
created初始化了2次,并且组件自己的created后执行。
对于 methods, components 和 directives 将合并到同一个对象内。如果键冲突则组件的选项优先。