当前位置: 首页 > news >正文

前端基础之《Vue(9)—混入》

一、什么是混入

1、是一种代码复用的技巧
Vue组件是由若干选项组成的,向组件中混入可复用的选项。

2、作用
比如我封装两个组件,一个是A组件,一个是B组件,发现它里面有相同的选项,就可以用混用的方式来复用它。

二、混入方式

1、全局混入
使用Vue.mixin({选项})进行全局混入。
当前Vue程序中,所有组件都拥有了这些被混入的选项。

2、局部混入
使用mixins:[{},{}]选项,进行局部混入。
只有当前组件才有这些被混入的选项。

3、一般混入的内容是
data、methods、生命周期钩子。

4、当一个组件同时有全局混入、局部混入、自有选项时,它们的优先级
自有选项 > 局部选项 > 全局混入

5、关于混入
注意:尽量不要用全局混入,偶尔会用到局部混入。

三、混入的缺点

1、当混入用的多了,选项来历不明,代码不易维护。

四、混入例子代码

<html>
<head><title>混入</title><style></style>
</head>
<body><div id="app"><home-1></home-1></div><script src="https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.js"></script><script>const aa = {data() {return {name: 'aa'}},mounted() {console.log('---mounted aa')}}const bb = {data() {return {name: 'bb'}},mounted() {console.log('---mounted bb')}}// 全局混入Vue.mixin({data() {return {version: 'v2' //所有组件都增加一个版本的变量}},methods: {maidian(id) {console.log('---调接口埋点', id)}}})Vue.component('home-1', {template:`<div>首页{{version}}</div>`,mounted() {this.maidian(100)console.log('---name', this.name)},// 局部混入mixins:[aa, bb]            })const app = new Vue({})app.$mount('#app')</script></body>
</html>

五、混入可以解决什么问题

1、注入埋点方法
埋点:你没有调接口,它自己悄悄调接口,把你的爱好发到后台。

2、单位的转换方法、工具方法

3、Echarts图表封装

http://www.dtcms.com/a/152171.html

相关文章:

  • Linux 命令行与 vi/vim 编辑器完全指南
  • JetBrains GoLang IDE无限重置试用期,适用最新2025版
  • std::deque的简化源码详解
  • 架构-数据库系统
  • Java基础集合 面试经典八股总结 [连载ing]
  • Java开发工具IntelliJ IDEA v2025.1——全面支持Java 24、整合AI
  • C++内存管理那些事
  • 树型结构(知识点梳理及例题精讲)
  • 一键多环境构建——用 Hvigor 玩转 HarmonyOS Next
  • Docker 部署 Redis:快速搭建高效缓存服务
  • 解决yarn install 报错 error \node_modules\electron: Command failed.
  • 【PVCodeNet】《Palm Vein Recognition Network Combining Transformer and CNN》
  • Unity MR开发:探索混合现实的无限可能 (VisionPro和HoloLens 2 对比)
  • 注意力机制:Transformer如何用“数学凝视“统治AI?
  • 深度学习物理信息神经网络PINN+大模型辅助编程​
  • continue插件实现IDEA接入本地离线部署的deepseek等大模型
  • Kafka消息可视化工具Offset Explorer
  • windows中kafka4.0集群搭建
  • STM32F103系列单片机寄存器操作和标准库操作
  • SpringCloud微服务架构设计与实践 - 面试实战
  • Web3中心化交易所钱包-批量地址生成业务
  • 【RocketMq源码篇-01】环境搭建、基本使用、可视化界面
  • ES6 模块化 与 CommonJS 的核心概念解析
  • linux系统如何锁定一个用户?又如何解锁该用户呢
  • 项目中数据结构为什么用数组,不用List
  • 【C++ 类和数据抽象】static 类成员
  • Qt —— 在Linux下试用QWebEngingView出现的Js错误问题解决(附上四种解决办法)
  • PostgreSQL-日志管理介绍
  • 【网络入侵检测】基于Suricata源码分析NFQ IPS模式实现
  • 分布式微服务架构,数据库连接池设计策略