Vue学习:mixin混入

混入(Mixin)是Vue.js中一种复用组件功能的方法,允许将一些通用功能抽取到单独的对象中,然后在多个组件中通过mixins属性引入。混入对象可以包含任意组件选项,如data、methods、生命周期钩子等。当组件的数据和生命周期钩子与混入对象有同名时,组件内的会优先使用,但生命周期钩子都会执行。
摘要由CSDN通过智能技术生成

两个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']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值