vue2【详解】mixins —— 抽离公共逻辑

mixins 用于在 Vue 中便捷复用变量、方法、组件引用、生命周期等

使用方法

  1. 创建文件myMixin.js
js 复制代码
export const myMixin = {
    data() {
        return {
            webName: '朝阳的博客'
        }
    },
    created() {
        alert(`欢迎来到${this.webName}`)
    },
    methods: {
        hi() {
            alert(`欢迎来到${this.webName}`)
        }
    }
}
  1. vue文件中引入并使用myMixin.js
js 复制代码
import {myMixin} from './myMixin.js'
js 复制代码
export default {
    mixins: [myMixin],

mixins的值为一个数组,可以传入多个minxins

js 复制代码
 mixins: [myMixin1,myMixin2],

注意事项

  • mixins中的变量和方法与vue文件中的变量和方法同名时,vue文件中的变量和方法会覆盖mixins中的
  • mixins中函数(如生命周期钩子函数)会在vue中的函数之前执行
    • 如mixins和vue中都有mounted生命周期钩子函数,则mixins中的先执行,vue文件中的后执行。
  • 不同vue文件引入同一个mixins时,mixins中定义的变量都属于各自的vue实例,相互之间互不影响。
  • 全局混入会影响每个单独创建的 Vue 实例 ,包括第三方组件,所以使用时格外小心。

mixins 的缺点

  • 变量来源不明确,不利于阅读
  • 多 mixin 可能会造成命名冲突
  • mixin 和组件可能出现多对多的关系,复杂度较高
相关推荐
计算机毕设定制辅导-无忧学长6 小时前
《基于SpringBoot青年公寓出租管理系统的设计与实现》
java·vue.js·spring boot·青年公寓出租管理系统
宿6748 小时前
vue3-config
前端·javascript·vue.js
ShineWinsu11 小时前
对于 Vue 3:从为什么学 Vue,到声明式渲染与数据响应式的解析
前端·javascript·vue.js
leoZ23112 小时前
第 6 篇:SchemaForm 渲染器核心实现
前端·javascript·vue.js·人工智能·神经网络·机器学习·自然语言处理
还是大剑师兰特13 小时前
vue项目浏览器版本判别,低于IE11跳转到新页面
前端·javascript·vue.js
BillKu16 小时前
vue3 字符串排序 localeCompare,确保排序为 “B01“, “B10“, “B2“
前端·javascript·vue.js
Nayana16 小时前
《Web 到 HarmonyOS》-- 第一课:前端经验哪些能带走
vue.js·harmonyos
ShineWinsu17 小时前
对于 Vue 3:开发前需要掌握的 JavaScript 核心基础:从变量、数组方法到 Promise、Async/Await 与 ES Module 的解析
javascript·vue.js·elasticsearch
雪芽蓝域zzs17 小时前
第十七节:面包屑导航组件(适配多级嵌套路由)
前端·javascript·vue.js
yume_sibai18 小时前
Element Plus 其他实用组件完全指南(10个核心组件)
前端·javascript·vue.js