概念:混入(mixins)是一种分发Vue组件中可复用功能的非常灵活方式。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。
使用方法:
1、创建混入对象:在src文件夹创建mixins文件夹,再在mixins文件夹下创建一个index.js文件
// 创建一个需要混入的对象
export default{
data(){
return {
dataMix: '混入对象的data'
}
},
methods:{
mixinsFun(){
console.log('调用混入对象的methods的函数')
}
}
}
2、在组件内引入并引用混入
<template>
<div>
<div>{{data}}</div>
<div @click="mixinsFun">{{dataMix}}</div>
<input type="text" v-model="testMix">
</div>
</template>
import mixins from '@/components/mixins/index'
export default {
mixins: [mixins],
data () {
return {
data:"这是组件中的数据"
}
},
methods:{
fun () {
console.log("this.data");
}
}
}
3、解释
组件中会将混入的数据当成自己组件中的数据使用,会将混入中的方法当成自己组件中的方法调用。
当组件中和混入中含有相同的数据名或是方法名字时,会使用组件中的变量名和方法名。
在组件中和混入中有相同的created()函数时,先执行混入中的created,再执行组件中的created。猜想其它生命周期也应该一样。
再组件中和混入中有相同的watch()函数时,先执行混入中的watch函数再执行组件中的watch函数