谈谈vue中mixin的一点理解


Posted in Javascript onDecember 12, 2017

 vue中提供了一种混合机制--mixins,用来更高效的实现组件内容的复用。最开始我一度认为这个和组件好像没啥区别。。后来发现错了。下面我们来看看mixins和普通情况下引入组件有什么区别?

     组件在引用之后相当于在父组件内开辟了一块单独的空间,来根据父组件props过来的值进行相应的操作,单本质上两者还是泾渭分明,相对独立。

     而mixins则是在引入组件之后,则是将组件内部的内容如data等方法、method等属性与父组件相应内容进行合并。相当于在引入后,父组件的各种属性方法都被扩充了。

     单纯组件引用:

          父组件 + 子组件 >>> 父组件 + 子组件

     mixins:

          父组件 + 子组件 >>> new父组件 

     值得注意的是,在使用mixins时,父组件和子组件同时拥有着子组件内的各种属性方法,但这并不意味着他们同时共享、同时处理这些变量,两者之间除了合并,是不会进行任何通信的。最开始看到mixins的时候,天真的我似乎看到了一种向下的类似vuex的数据共享方案,心情十分激动啊。

 下面给大家介绍下Vue中的mixin

     一,mixin是什么

mixin文件是一个对象,可以包含vue组件的任意成分。是分发Vue组件可复用功能的非常灵活的方式,当mixin被组件使用时,所有minxin里的属性/方法会与组件里的属性/方法混合。

二,mixin使用

在Vue组件中可以有mixins属性,该属性值类型为数组。将mixin引入,作为mixins数组的元素mixins: [mixin]

组件A应用了mixin,两者的属性如methods,components和directives,将被混合为同一个对象,如果methods,components和directives中有同名的属性,则mixin中的将会被忽略。同名钩子函数会组成数组并都会被调用,并且mixin的钩子函数会比组件的钩子函数先被调用。

总结

以上所述是小编给大家介绍的vue中mixin,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
纯文字版返回顶端的js代码
Aug 01 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
Aug 20 Javascript
第十篇BootStrap轮播插件使用详解
Jun 21 Javascript
很酷的星级评分系统原生JS实现
Aug 25 Javascript
bootstrap提示标签、提示框实现代码
Dec 28 Javascript
ReactNative踩坑之配置调试端口的解决方法
Jul 28 Javascript
vue.js select下拉框绑定和取值方法
Mar 03 Javascript
JavaScript中常见内置函数用法示例
May 14 Javascript
解决Vue+Element ui开发中碰到的IE问题
Sep 03 Javascript
JavaScript学习教程之cookie与webstorage
Jun 23 Javascript
vue中实现图片压缩 file文件的方法
May 28 Javascript
vue-cli4.0多环境配置变量与模式详解
Dec 30 Vue.js
Vue集成Iframe页面的方法示例
Dec 12 #Javascript
微信小程序显示下拉列表功能【附源码下载】
Dec 12 #Javascript
Vue调试神器vue-devtools安装方法
Dec 12 #Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
Dec 12 #Javascript
javascript实现循环广告条效果
Dec 12 #Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
Dec 12 #Javascript
vue2.0 常用的 UI 库实例讲解
Dec 12 #Javascript
You might like
PHP 简单日历实现代码
2009/10/28 PHP
php算法实例分享
2015/07/14 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
node.js中的fs.stat方法使用说明
2014/12/16 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
vue-cli中的webpack配置详解
2017/09/25 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
python利用elaphe制作二维条形码实现代码
2012/05/25 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
python如何制作英文字典
2019/06/25 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
python命令行工具Click快速掌握
2019/07/04 Python
Python 变量的创建过程详解
2019/09/02 Python
python打开音乐文件的实例方法
2020/07/21 Python
分享unittest单元测试框架中几种常用的用例加载方法
2020/12/02 Python
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
企业标语大全
2014/07/01 职场文书
庆元旦演讲稿
2014/09/15 职场文书
申报材料格式
2014/12/30 职场文书
门卫岗位职责
2015/02/09 职场文书
开天辟地观后感
2015/06/09 职场文书
八年级物理教学反思
2016/02/19 职场文书
MySQL中order by的使用详情
2021/11/17 MySQL
一文弄懂MySQL索引创建原则
2022/02/28 MySQL
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers