13. mixins
于2022-10-12 16:18:15发布
40
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]
注意点
1、若mixins中的data数据,与组件中的数据冲突时,以组件数据优先。
2、同名钩子函数:混合为一个数组,都将被调用,混入对象钩子先调用。
3、值为对象选项:methods,components,将被混合为同一个对象,两对象键名冲突时,取组件对象的键值对。