vue 中的 mixins的使用

本文详细介绍了Vue.js中的混入(mixins)特性,用于实现代码复用。通过实例展示了如何创建局部混入和全局混入,以及它们在实际开发中的应用。在组件间存在相同功能需求时,混入可以避免重复代码,提高代码维护性。同时,解释了混入时方法、属性和生命周期钩子的冲突处理规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vue中有一个设置项叫做混入 (mixins), 它的使用是用来做代码复用的。同时, 这个mixins 也分为局部混入和全局混入

应用场景

下面先说一下 mixins 的应用场景, 假设现在我们两个组件, 当这两个组件被点击时, 都要 console.log 一下, data 中的一个name 属性的值
第一个组件是 school组件,如下图
在这里插入图片描述
第二个组件是 student组件
在这里插入图片描述
我们可以看到, 不同的两个组件, 有一个相同功能的方法, 这种写法会导到, 我们要在两个组件中写出同样的代码, 两个组件还可以接受, 如果有 200个组件都要这样的功能, 是不是很烦人的感觉, 这时我们就可以使用 mixins 来复用代码


使用方法

  1. 创建一个 mixin 文件, 并把相应的数据 暴露出去

在这里插入图片描述
既然暴露出来的, 那肯定是给别人用的, 当然是给组件用的

  1. 先说一个局部混入, 局部混入, 就是说在 VueComponet 中一个个混中, 全局混入呢, 那当然就是在 Vue (Vm) 对象上混入
    下面是局部混入的写法
    在这里插入图片描述
    同样的, 对student 组件也进行这样的操作
    完成后, 当我们点击时, 功能同样的可以完成, 而 showName 的方法, 就是我们通过 mixins 混入的, 我们只写了一次

以上就是局部混入的,它是在每一个 VueComponet中都要混入一下

  1. 说一下全局混入, 我们把它混入到 Vue 的对象中, 这样, vue 下的 所有组件,都会有这个方法,不用每一个组件去写了,这种写法是在 确定所有的组件都需要这个方法或属性时才用的, 一般我们不会这样用的
    方法如下
    在 main.js文件中 引入
    在这里插入图片描述
    以上就是全局混入, 一般用的不多, 因为, 所有组件, 所有组件, 所有组件 都会被混入。 很少有这种需求

最后, 就要说一下, 混入的方法, 属性, 钩子函数, 如果本地已有的话, 产生冲突会是什么情况,
如果本组件中有和混入的方法, 属性, 同名字的, 以本组件中的为主, 混入的不生效
但是 生命周期钩子函数 不管是本组件中的, 还是混入的, 都是会生效的, 并且, 会先执行混入的生命周期钩子, 再执行本组件的生命周期钩子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

A黄俊辉A

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

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

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

打赏作者

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

抵扣说明:

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

余额充值