mixins作用
分发vue组件中可复用功能的灵活方式。混入对象可以包含任意组件选项。组件使用混入对象时,所有混入对象的选项将混入该组件本身的选项。
例子:
base.js( 把需要复用的功能写在一个文件里)
const base = {
data(){
return {
message : {
name : 'TOM',
age : '18岁',
address : '广东省深圳市宝安区',
}
}
},
computed: {
getAddress(){
return this.message.address;
}
},
filters:{
lowercase(e){
return e.toLowerCase();
}
},
methods: {
getAge(){
return this.message.age;
}
}
};
export default base;
index.vue
<template>
<div>
<p>{{getAddress}}</p>
<p>{{message.name | lowercase}}</p>
<p>{{getAge()}}</p>
</div>
</template>
<script>
import base from '@/mixins/base'
export default {
mixins: [base]
}
</script>
在其它vue页面,如果想用到复用的功能,则只需要:
1. import base from '@/mixins/base'
2. mixins: [base]
即可
注意点
选项合并:组件选项和对象选项同名时,将以恰当方式混合。
数据对象:和组件数据冲突时以组件数据优先
同名钩子函数:混合为一个数组,都将被调用,混入对象钩子先调用。
值为对象选项:methods,components,将被混合为同一个对象,两对象键名冲突时,取组件对象的键值对。