vue.js之mixins混合
来源:互联网 发布:excel编程常用代码 编辑:程序博客网 时间:2024/05/15 14:15
混合以一种灵活的方式为组件提供分布复用功能。混合对象可以包含任意的组件选项。当组件使用了混合对象时,混合对象的所有选项将被“混入”组件自己的选项中。
一、Mixins的基本用法
现在有个数字点击递增的程序,假设已经完成了,这时我们希望每次数据变化时都能够在控制台打印出提示:“数据发生变化”.
代码实现过程:
<div id="app"> <p>num:{{ num }}</p> <P><button @click="add">增加数量</button></P></div><script> var addLog = { updated : function () { console.log("数据放生变化,变化成" + this.num + "."); } } var app = new Vue({ el: '#app', data: { num: 1 }, methods: { add: function () { this.num++; } }, mixins: [addLog], //混入 })<script>
当点击按钮时会触发混入的 addLog 中的 updated 方法。
二、mixins的调用顺序
从执行的先后顺序来说,都是混入的先执行,然后构造器里的再执行,需要注意的是,这并不是方法的覆盖,而是被执行了两遍。
在上边的代码的构造器里我们也加入了updated的钩子函数:
<div id="app"> <p>num:{{ num }}</p> <P><button @click="add">增加数量</button></P></div><script> var addLog = { updated : function () { console.log("数据放生变化,变化成" + this.num + "."); } } var app = new Vue({ el: '#app', data: { num: 1 }, methods: { add: function () { this.num++; } }, updated: function () { console.log("构造器里的updated方法。") }, mixins: [addLog], //混入 })</script>
三、全局混入方式
全局混入的执行顺序要前于混入和构造器里的方法。
<div id="app"> <p>num:{{ num }}</p> <P><button @click="add">增加数量</button></P></div><script> Vue.mixin({ updated: function () { console.log('我是全局被混入的'); } }) var addLog = { updated : function () { console.log("数据放生变化,变化成" + this.num + "."); } } var app = new Vue({ el: '#app', data: { num: 1 }, methods: { add: function () { this.num++; } }, updated: function () { console.log("构造器里的updated方法。") }, mixins: [addLog], //混入 })</script>
顺序总结:全局混入优先于局部混入,局部混入优先于构造器
两个对象键名冲突时,取组件对象的键值对
当混入和组件对象中都有test方法(重名)时,最终的值取组件对象的键值对
<div id="app"> <p>num:{{ num }}</p> <P> <button @click="add">增加数量</button> </P> </div> <script> var addLog = { updated: function () { console.log("数据放生变化,变化成" + this.num + "."); this.test(); }, methods: { test: function () { console.log('混入中的test') } } } var app = new Vue({ el: '#app', data: { num: 1 }, methods: { add: function () { this.num++; }, test:function(){ console.log('组件对象中的test') } }, mixins: [addLog], //混入 })</script>
阅读全文
0 0
- vue.js之mixins混合
- Vue中的mixins(混合)使用方法
- Vue.js Mixins 混入使用
- SASS详解之混合(mixins)
- stylus之混合书写(Mixins)
- mixins混合
- 在Vue.js中使用Mixins
- 在Vue.js中如何使用Mixins?
- vue -- mixins
- LESS详解之混合(Mixins)初级
- LESS详解之混合(Mixins)中级
- LESS详解之混合(Mixins)高级
- vue的mixins属性
- Vue——mixins
- VUE mixins 个人见解
- Sass中的mixins混合使用
- 4.Less混合(mixins)
- vue-mixins一些常用方法
- Oracle数据库恢复表以及表数据
- Lua 中使用面向对象(续)--newproxy生成userdata使用__gc
- javascript字符串注意点
- angular4使用了bootstrap模态框手动关闭
- Unity c# 委托和回调 匿名函数和Lambda表达式
- vue.js之mixins混合
- 3 移除数组arr中所有与item相等的元素,不更改原数组。
- 扫描件如何转换成word文档?扫描件转可编辑文本技巧
- Angular4 第四章 使用工厂方法和值对象声明提供器
- 一个自动获取手机性能数据的线程
- Async/Await替代Promise的6个理由
- 威尔逊定理
- 同源策略详解
- java8新特性之lambda表达式