Vue.mixin混入

当两个或者多个组件存在相同的属性或方法时,将相同的特征提取出来写成一个mixin.js的文件,mixin.js文件的内容是多个组件相同的部分,其内容跟组件的配置项的内容是一样的,但mixin.js文件的中是都相同的配置项。
当某个组件需要使用的该mixin.js文件里面的内容时,先在本组件中导入mixin.js文件,然后在mixin属性中以数组的方式声明,而当存在重叠的配置项时,会保留原本的配置项,其他的都跟原配置项一起混入形成新的配置项,注意:如果生命周期函数发生重叠,是都要执行,不以特定的组件为主!!!
使用方式:

  • (1) 第一步:定义要混合的配置项:
{
    
    
	data(){
    
    }
	methosds:{
    
    }
}
  • 第二步:使用混合,混合包括全局混和和局部混和的两个方式:

    import XXX from module
    全局混入:Vue.mixin(xxx)
    局部混入:minxins:[‘XXX’]

案列:
(1) . 先定义要混合的配置项mixin.js:

export const hehe = {
    
    
    methods: {
    
    
        showName() {
    
    
            console.log(this.name);
        }
    },
    mounted() {
    
    
        console.log('a')
    }
}

(2) 在Student和School组件中导入mixin.js 然后局部使用:

import {
    
     hehe } from "../mixin";
export default {
    
    
  name: "School",
  data() {
    
    
    return {
    
    
      name: "学校名",
      address: "学校地址",
    };
  },
  mixins: [hehe],
};

猜你喜欢

转载自blog.csdn.net/qq_45801179/article/details/128494282