首页 > 其他分享 >Vue的混入(mixin)

Vue的混入(mixin)

时间:2024-08-05 14:52:44浏览次数:13  
标签:混入 Vue 代码 mixins js mixin 组件

一、mixin是什么

我们在开发组件的过程中,常常会遇到一些具有相同逻辑和功能的组件。

如果每个组件各写一套方法会导致代码冗余,后期更改的时候也要一个个的改非常的浪费时间和精力。

mixins就是将这些多个相同的逻辑抽离出来,各个组件只需要引入mixins,就能实现一次写代码,多组件受益的效果。

二、使用方法

先定义mixin:在src目录下新建mixin文件夹,然后新建index.js文件,该文件存放我们的mixin代码。

export const mixins = {

data() {

return {};

},

computed: {},

created() {},

mounted() {},

methods: {}

};

(1)局部混入

在组件中引入mixin,然后使用mixins

(2)全局混入

在初始化Vue之前(main.js中)调用Vue.mixin()进行全局混入

import Vue from "vue";

import App from "./App.vue";

import { mixins } from "./mixin/index";

Vue.mixin(mixins);

Vue.config.productionTip = false;

new Vue({

render: (h) => h(App),

}).$mount("#app");

三、使用场景

在开发中,经常会遇到在不同的组件中用到相同或者相似的代码,这些代码的功能相对独立;就可以利用mixins将公共部分提取出来,通过 mixins封装的函数,组件调用他们是不会改变函数作用域外部的。

四、注意事项

  1. mixin对象的data数据与组件选项会进行合并,如果有冲突,组件优先级高于mixin。

2.mixin和组件中存在相同方法时,组件的方法的优先级大于mixin中。

  1. mixin的事件执行顺序要优先于组件的。

4.多个组件调用同一个mixin,每个变量都是单独独立的,不会项目污染改变变量。

  1. Vue3 Hooks代替了Vue2 Mixins。

  2. Vue3 Hooks代替了Vue2 Mixins。

vue3 中的 hooks 就是函数的一种写法,就是将文件的一些单独功能的js代码进行抽离出来,放到单独的js文件中,或者说是一些可以复用的公共方法/功能。其实 hooks 和 vue2 中的 mixin 有点类似,但是相对 mixins 而言, hooks 更清楚复用功能代码的来源, 更清晰易懂。

五、mixin优缺点

优点:

提高代码复用性

无需传递状态

维护方便,只需要修改一个地方即可

缺点:

命名冲突

滥用的话后期很难维护

不好追溯源,排查问题稍显麻烦

总结

mixin给我们提供了方便的同时也给我们带来了灾难,所以有很多时候不建议滥用它,但是在有些场景下使用它又是非常合适的,这就得根据自己来取舍了。所以在很多时候我们需要考虑用公共组件还是使用mixin。

标签:混入,Vue,代码,mixins,js,mixin,组件
From: https://www.cnblogs.com/sanbaoer/p/18343170

相关文章

  • 计算机毕业设计django+vue二手车管理系统【开题+程序+论文】
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着汽车消费市场的日益成熟与二手车交易量的持续增长,构建一个高效、便捷、信息透明的二手车管理系统显得尤为重要。传统二手车交易往往存......
  • ssm+vue高校疫情防控系统的设计与实现【开题+程序+论文】-计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着全球新冠疫情的持续影响,高等教育机构作为人员密集、流动性大的场所,其疫情防控工作显得尤为重要。传统的疫情管理模式往往依赖于人工统计、纸质报......
  • ssm+vue高校社团管理系统【开题+程序+论文】-计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高等教育的普及与深化,高校社团作为学生自我管理与发展的重要平台,日益成为校园文化不可或缺的一部分。然而,传统的高校社团管理方式往往依赖于纸质......
  • ssm+vue高校本科成绩管理系统设计【开题+程序+论文】-计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高校教育规模的不断扩大和信息化技术的飞速发展,传统的手工或简单电子化管理方式已难以满足高校本科成绩管理的复杂需求。当前,高校本科生成绩管理......
  • ssm+vue骨科医院信息管理系统设计实现【开题+程序+论文】-计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着医疗技术的飞速发展和患者需求的日益增长,传统骨科医院的管理模式面临着诸多挑战。信息不对称、流程繁琐、效率低下等问题日益凸显,不仅影响了患者......
  • springboot+vue酒店信息管理系统【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展和消费者需求的日益多元化,酒店行业正面临着前所未有的挑战与机遇。传统的酒店管理模式已难以满足现代酒店高效运营、精准服务及客户体验优化的需求。在此背景下,酒店信息管理系统(HotelInformationManagementSys......
  • springboot+vue酒店信息管理系统【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展,酒店业作为旅游产业链中的重要一环,面临着日益增长的客户需求与激烈的市场竞争。传统的手工管理模式已难以满足现代酒店对高效、精准、个性化服务的需求。在此背景下,开发一套集用户管理、房间类别划分、客房信息展......
  • springboot+vue酒店客房预订系统【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展,酒店行业作为旅游业的重要支柱,面临着日益增长的客户需求和激烈的市场竞争。传统的酒店预订方式,如电话预订或到店预订,已难以满足现代消费者对于便捷性、实时性和个性化服务的高要求。在此背景下,开发一套高效、智能......
  • springboot+vue酒店客房管理系统的设计与实现【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展,酒店业作为其核心组成部分,面临着日益增长的客户需求与管理复杂性的双重挑战。传统的手工酒店客房管理方式已难以满足现代酒店高效、精准、便捷的管理需求。宾客对住宿体验的要求不断提高,期望通过数字化手段实现快......
  • vue构建项目的三种方式
    前提:已经安装了node和npm1.通过vue-cli进行创建全局安装vue-cli:npminstall-g@vue/cli直接创建vue项目:vuecreate项目名vuecreate是VueCLI(命令行界面)提供的一个命令,用于创建和管理Vue.js项目。VueCLI是一个官方提供的工具,用于快速搭建基于Vue.js的项目,并且提供......