在项目开发过程中,你是否会遇到此类问题:在多个组件中用到相同的方法。如果遇到此类问题,那么在多个组件中重复写同样的方法会显得非常繁琐,代码也会不好维护。就此,Vue提供了一个mixins混入的一个概念:

mixins混入是一种分发Vue组件中可复用功能非常灵活的方式,它接收一个对象数组。并且分为局部混入和全局混入。

一、局部混入

定义一个 mixins.js 文件,此文件中可以混入Vue中所有的设置项,methods、computed、watch、data、生命周期函数等都可以。

使用时在组件中直接引入此文件使用即可,它的值是一个数组,表示可以混入多个:

// mixins.js文件
export const mixin1 = {data() {return {name: 'bjl'}}
}export const mixin2 = {methods: {showName() {console.log(this.name)}}
}
// 某一个组件中
<template>...
</template><script>
import {mixin1, mixin2} from "../mixins.js"
export default {mixins: [mixin1, mixin2]
}
</script>

二、全局混入

全局混入表示混入到Vue对象中,Vue下的所有组件都会使用混入的方法,一定要注意,是所有的组件,所以,在使用全局混入的时候要确保所有的组件都会使用到。

定义一个mixins.js文件,在main.js文件中引入并使用:

//main.js文件
import {mixin1, mixin2} from "../mixins.js"Vue.mixin(mixin1)
Vue.mixin(mixin2)

如果在使用混入的过程中出现冲突,除生命周期钩子外,其余的都以本组件中的为主,混入的不生效;生命周期钩子产生冲突是先执行混入的声明周期钩子,再执行本组件的生命周期钩子。

Vue 一秒搞懂mixins混入相关推荐

  1. 神了!!看完这篇文章我不仅学会了手撸vue三开关组件,还搞懂了父子组件传值

    神了!!看完这篇文章我不仅学会了手撸vue三开关组件,还搞懂了父子组件传值 引子 前置知识 什么是vue组件 父子组件传值 父传子 子传父 model选项的引入 三开关组件(three-switch) ...

  2. Vue最新状态管理工具Pinia——彻底搞懂Pinia是什么

    Pinia从了解到实际运用--彻底搞懂什么是Pinia 知识回调(不懂就看这儿!) 场景复现 什么是pinia pinia相比vuex的优势 为什么要使用pinia? 基本示例 知识回调(不懂就看这儿 ...

  3. Vue中使用mixins混入

    mixins在Vue中的用法 一.mixins混入 混入(mixins)提供了一种非常灵活的方式,来分发vue组件中的可服用功能.一个混入对象可以包含任意的组件选项(vue在script的部分).当组 ...

  4. 转:前端 100 问:能搞懂80%的请把简历给我

    <前端 100 问:能搞懂80%的请把简历给我> 引言 半年时间,几千人参与,精选大厂前端面试高频 100 题,这就是「壹题」. 在 2019 年 1 月 21 日这天,「壹题」项目正式开 ...

  5. 想要彻底搞懂“异地多活”,看完这篇就够了

    在软件开发领域,「异地多活」是分布式系统架构设计的一座高峰,很多人经常听过它,但很少人理解其中的原理. 异地多活到底是什么?为什么需要异地多活?它到底解决了什么问题?究竟是怎么解决的? 这些疑问,想必 ...

  6. 搞懂分布式技术16:浅谈分布式锁的几种方案

    搞懂分布式技术16:浅谈分布式锁的几种方案 前言 随着互联网技术的不断发展,数据量的不断增加,业务逻辑日趋复杂,在这种背景下,传统的集中式系统已经无法满足我们的业务需求,分布式系统被应用在更多的场景, ...

  7. 太强了! 李宏毅:1 天搞懂深度学习,我总结了 300 页 PPT

    <1 天搞懂深度学习>,300 多页的 ppt,台湾李宏毅教授写的,非常棒.不夸张地说,是我看过最系统,也最通俗易懂的,关于深度学习的文章. 这份 300 页的 PPT,被搬运到了 Sli ...

  8. IM的扫码登录功能如何实现?一文搞懂主流的扫码登录技术原理

    本文引用了3位作者"精品唯居"."  Yangfan2016"." MrYun"的部分文章内容,一并感谢. 1.引言 扫码登录这个功能,最早 ...

  9. 组件化开发实战_一篇文章搞懂什么是前端“组件化”开发

    学过网页的朋友都知道,制作一个网页离不开HTML.CSS和JavaScript技术.对于初学者来来说,掌握这3门技术就已经很不容易了,为什么前端为什么又要搞出来一个"组件化"开发的 ...

最新文章

  1. c++ 绘制函数图像_【图像增强】CLAHE 限制对比度自适应直方图均衡化
  2. IdentityServer4环境部署失败分析贴(一)
  3. 二阶偏微分方程组 龙格库塔法_深度科普---电磁波(三):无激励下的真空中的Maxwell方程组的解...
  4. (android实战)Service 生命周期和使用注意项
  5. 理解Flexbox弹性盒子
  6. 拼多多派发“五五购物节”消费券 万张消费券30分钟被抢购一空
  7. [转载]针对IIS7以上的ASP.NET网站自定义错误页面与异常日志总结
  8. 用足球阵型告诉你,阿里云如何护航全网70%世界杯流量 1
  9. Atitit。Tree文件解析器的原理流程与设计实现  java  c# php js
  10. Java基于springboot办公OA管理系统源码
  11. xlsxwriter
  12. 海康摄像头监控预览二开,萤石云对接说明
  13. Keil MDK利用 fromelf 实现axf 转 bin 的方法
  14. Word未保存文档恢复
  15. bios设置raid启动模式Linux,RAID BIOS检测硬盘以及设置RAID模式
  16. 【智慧医疗】EMR vs EHR vs PHR 有何区别?
  17. yum 无法安装gcc 出现Run “yum repolist all” to see the repos you have异常
  18. ANO匿名飞控STM32代码解读(一)任务调度——Ano_Scheduler.c
  19. 深入电子元器件行业产业场景,在线采购商城系统加速电子元器件交易数字化
  20. MacOS Monterey 12.4 (21F79) OC 0.8.0 / Cl 5146 / PE 三分区原版黑苹果镜像

热门文章

  1. c语言课程设计--贪吃蛇
  2. 深度解读物联网区块链“IOTA”:不仅解决IoT痛点,还解决区块链痛点
  3. 数据库主从分离和读写分离
  4. 桌面上的ie,小游戏,极品美媚图,免费新电影,淘宝网今日打折特价区的图标无法删除,怎么办?
  5. 三分之一的程序猿之创业组队与打怪升级
  6. Redis复制:部分同步PSYNC详解
  7. Jenkins连接svn报E170001错误的解决办法
  8. 在云计算行业内有什么证书比较有名?受市场认可大?
  9. php生成云图,教程:用Python生成词云图
  10. 计算机领域区块链是什么是意思,为什么区块链瑞普顿RXP是不可篡改的