场景运用:
有两个非常相似的组件,基本功能相同,但又存在着足够的差异性。他们可能会共用一部分业务逻辑,但是页面结构又不同。这个时候就可以使用混入来让代码复用。
局部混入
首先创建一个 mixins 文件夹,然后再在里面创建一个mixins.js文件,然后再创建混入对象:
const mixin = {
data() {
return {
str: '你好'
}
},
created() {
console.log("我是混入的生命周期函数")
},
methods: {
showToast() {
console.log("我是混入中的方法")
}
},
}
export default mixin
在组件中使用混入:
import mixins from '../mixins/mixins.js' // 引入混入对象
export default {
mixins:[mixins], // 注册混入对象
mounted() {
this.showToast();
},
}
全局混入
在main.js中引入混入对象并全局注册。
一旦使用全局混入对象,将会影响到所有之后创建的 Vue 实例。
import mixins from './mixins/mixins'
Vue.mixin(mixins);