温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue中如何使用vue mixins

发布时间:2021-08-10 11:09:08 来源:亿速云 阅读:217 作者:小新 栏目:web开发

这篇文章主要介绍了Vue中如何使用vue mixins,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

使用场景:

例如我们在Vue单页面开发的时候当多个组件中都需要下拉刷新,或者使用的都是一个方法的时候,我们就可以使用vue mixins进行封装调用,以及继承,具体看代码。

选项合并

  var mixin = {         data: function () {         return {          message: 'hello'         }        },        created:function(){         console.log('我是mixins中的created')        },        methods:{         show:function(num){           console.log(num) //mixins种的函数可以接收组件种的传参。         },         foo: function () {          console.log('foo')         },         conflicting: function () {          console.log('from mixin')         }        }       }       var vm = new Vue({        mixins: [mixin],        data: function () {         return {          title: 'def',          message: 'goodbye'         }        },        created: function () {         console.log('我是Vue中的created')         console.log(this.$data)         this.show(50); //可通过函数传参,把组件中需要的参数传给mixins进行使用。        },        methods:{         bar: function () {          console.log('bar')         },         conflicting: function () {          console.log('from self')         }        }       })              vm.foo() // => "foo"       vm.bar() // => "bar"       vm.conflicting() // => "from self"

注意以下三点:

1、当组件和混入对象含有同名选项时,这些选项将以恰当的方式混合。比如,数据对象在内部会进行浅合并 (一层属性深度),在和组件的数据发生冲突时以组件数据优先。

2、同名钩子函数将混合为一个数组,因此都将被调用。另外,混入对象的钩子将在组件自身钩子之前调用。

3、值为对象的选项,例如 methods, components 和 directives,将被混合为同一个对象。两个对象键名冲突时,取组件对象的键值对。

全局混入

也可以全局注册混入对象。注意使用! 一旦使用全局混入对象,将会影响到 所有 之后创建的 Vue 实例。使用恰当时,可以为自定义对象注入处理逻辑。

//为自定义的选项 'myOption' 注入一个处理器。 Vue.mixin({  created: function () {   var myOption = this.$options.myOption   if (myOption) {    console.log(myOption)   }  } }) new Vue({  myOption: 'hello!' }) // => "hello!"

感谢你能够认真阅读完这篇文章,希望小编分享的“Vue中如何使用vue mixins”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI