把公共的属性/方法提取出来,减少代码重复——mixins
可以全局配置,也可以单个引入
如果属性/方法有重复,后来的mixin会覆盖前面的,当前组件中的会覆盖mixin里的
单个引入
抽离出公共的属性/方法,保存在一个js中
base.js:
export default {
data() {
return {
firstName: '李'
}
},
methods: {
intri() {
console.log("my name is ", this.firstName, this.lastName);
}
}
}
在需要的vue中引入
import baseMixin from '../mixins/base'
export default {
mixins: [baseMixin],
data() {
return {
lastName: '大钊'
}
},
//当此处也有一个intri方法的时候,会把mixins里的覆盖
}
上面两个"混合"所得的结果,和下面效果一样:
export default {
mixins: [baseMixin],
data() {
return {
lastName: '大钊'
firstName: '李'
}
},
methods: {
intri() {
console.log("my name is ", this.firstName, this.lastName);
}
}
}
全局引入
import firMixin from '../mixins/fir'
import secMixin from '../mixins/sec'
app.mixin(firMixin) //mixin不是mixins
app.mixin(secMixin) //可以引入多个
这样之后,在其他组件中都不用再引入了,也不需要mixins了,直接用就可以了
浙公网安备 33010602011771号