Skip to content
Have a clear structure

Mixin 混入

  • Mixin 可以把多个组件共用的配置提取成一个混入对象
  • 混入和组件自身的配置会合并
  • data 、methods 若冲突以自身为准
  • 对于生命周期钩子,执行动作会合并,且先执行 Mixin 里的动作 定义混入:
js
// mixin.js
export const mixin = {
  methods: {
    showName() {
      alert(this.name)
    }
  },
  mounted() {
    console.log('hello mixin')
  }
}
export const mixin2 = {
  data() {
    return {
      x: 100,
      y: 200
    }
  }
}

使用局部混入:

js
import { mixin, mixin2 } from '../mixin.js'

export default {
  name: 'School',
  data() {
    return {
      schoolName: '北大'
    }
  },
  mixins: [mixin, mixin2]
}

使用全局混入:

js
// main.js
import { mixin, mixin2 } from './mixin.js'

Vue.mixin(mixin)
Vue.mixin(mixin2)