Mixin

Mixin


混合器 用于将vue组件中的options进行抽离

const baseMixin = {
  data () {
    return {
      apiUrl: 'http://www.baidu.com'
    }
  },
  created(){
  	console.log('mixin 的created')
  }
}
export default {
  mixins: [baseMixin]
}

抽离成独立的js文件后在组件import引入

Mixin的选项合并

当组件和混入对象有同名属性时,这些选项将以恰当的方式进行合并

如果混合器混入的内容也有生命周期函数 那么组件内的生命周期函数会一起执行 且混入器的先执行

数据对象会在内部进行递归合并,并在发生冲突时以组件的数据优先(无论mixin的导入顺序)


全局配置Mixin

为Vue应用程序全局应用mixin

import { createApp } from 'vue'
import App from './App.vue'
import baseMixin from './baseMixin'

const app = createApp(App)
app.mixin(baseMixin)
app.mount('#app')

 Vue.mixin({
    created(){
      console.log('我是全局的生命周期')
    }
  })

通过main.js全局挂载mixin

在所有组件中默认拥有挂载的mixin的所有options( 每个组件不需引入及配置 )

注:

全局配置的Mixin如果有生命周期函数

会比组件内的Mixin的生命周期函数 和 组件内的生命周期函数优先级更高

组件内的Mixin的生命周期函数 比 组件内的生命周期函数优先级更高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Raccom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值