全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-20 6 分钟 ✍️ juanwangdev

混入Mixin

Mixin 用于提取和复用组件间的共有逻辑。

定义 Mixin

JavaScript
const myMixin = {
  data() {
    return { message: 'hello' }
  },
  created() {
    this.hello()
  },
  methods: {
    hello() {
      console.log(this.message)
    }
  }
}

使用 Mixin

JavaScript
export default {
  mixins: [myMixin]
}

选项合并

数据合并

JavaScript
const mixin = {
  data() {
    return { a: 1, b: 2 }
  }
}

export default {
  mixins: [mixin],
  data() {
    return { b: 3, c: 4 }
  }
}
// 结果: { a: 1, b: 3, c: 4 }

同名数据以组件自身为准。

钩子合并

JavaScript
const mixin = {
  created() {
    console.log('mixin')
  }
}

export default {
  mixins: [mixin],
  created() {
    console.log('component')
  }
}
// 两个都会执行

同名钩子会合并为数组,都会执行。

Vue 3 中 Mixin 使用减少,Composition API 是更推荐的复用方式。

要点总结

  • Mixin 复用组件选项(data、methods、钩子)
  • 数据冲突以组件自身为准
  • 同名钩子函数会合并执行
  • Vue 3 推荐使用 Composition API 替代

📝 发现内容有误?点击此处直接编辑

← 上一篇 函数式组件
下一篇 → 递归组件
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库