谈谈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 相关文章推荐
picChange 图片切换特效的函数代码
May 06 Javascript
javascript学习笔记(六) Date 日期类型
Jun 19 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
Aug 19 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
Jan 02 Javascript
JS+CSS实现Div弹出窗口同时背景变暗的方法
Mar 04 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
Aug 07 Javascript
XML文件转化成NSData对象的方法
Aug 12 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
js读取json文件片段中的数据实例
Mar 09 Javascript
详解webpack-dev-server的简单使用
Apr 02 Javascript
layui插件表单验证提交触发提交的例子
Sep 09 Javascript
js实现上传图片并显示图片名称
Dec 18 Javascript
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编码规范的深入探讨
2013/06/06 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
PHP学习笔记之session
2018/05/06 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
动手学习无线电
2021/03/10 无线电
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
JS前端加密算法示例
2016/12/22 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
jQuery实现网页拼图游戏
2020/04/22 jQuery
vue模块拖拽实现示例代码
2019/03/09 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
Java与Python两大幸存者谁更胜一筹呢
2018/04/12 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
python实现PCA降维的示例详解
2020/02/24 Python
财产公证书样本
2014/04/04 职场文书
保研导师推荐信
2015/03/25 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python