两个vue文件,具有相同部分,可以就将相同部分删除 然后重新写一个新的相同部分 将原来的删除 进行引入 ,这就是混入:两个组件共享一个相同的配置
mixin.js编写混合部分,所有配置项都可以写成混合
export const mixin1 = {
methods: {
showName() {
alert(this.name)
}
},
//
mounted() {
console.log('挂载完成,所有配置项都可以写成混合')
},
}//分别暴露
export const mixin2 = {
data() {
return {
a: 10,
b: 23
}
}
}//分别暴露
在组件中引入混合(所有具有相同混合的组件都需要引入)
import {mixin1,mixin2} from '../mixin.js';
配置项mixins 进行引入
mixins:[mixin1,mixin2]
当你原先的data中存在和混合相同的参数,不会被混合破坏
但是对于生命周期钩子,都会使用而不是只需要原来里面的配置
在组件里面的局部混合.vue
import {mixin1,mixin2} from '../mixin.js'
export default {
name: 'School',
data() {
return {
msg:'学校信息',
name:"xxx学校" ,
adress:"山东"
};
},
mixins:[mixin1,mixin2]
};
前面的是局部混合,还有全局混合,在main.js中
import App from './App.vue'
//全局混合
import {mixin1,mixin2} from './mixin.js'
//关闭生产提示
Vue.config.productionTip = false
Vue.mixin(mixin1)
Vue.mixin(mixin2)
输出4变,前面的每个挂载都会输出
mixin(混入)
可以把多个组件共同的配置提取成一个混入的对象
使用方法:
a、定义混合 例如
{
data(){},
methods:{}
}
b、使用混入
1、全局混入Vue.mixin(xxx)
2、局部混入mixins:['xxx']