vue mixins合并策略以及应用场景分析
作者:冰魂破
vue mixins合并策略及应用场景
mixins
混合 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。
混合对象可以包含任意组件选项。
当组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项。
具体合并策略
1、data
mixins中的data会合并到data中,有冲突的话,data中数据覆盖mixins中的数据。
2、钩子函数
mixins中的钩子函数也会执行,先执行mixins中的钩子函数。
3、methods
、components
和 directives
methods
、components
和 directives
会执行,但有冲突时,原methods
、components
和 directives
会覆盖mixins
中的methods
、components
和 directives
应用场景
多个实例引用了相同或相似的方法或属性等,可将这些重复的内容抽取出来作为mixins的js,export出去,在需要引用的vue文件通过mixins属性注入
mixins的使用方法和注意点
mixins基础概况
vue中的解释是这样的,如果觉得语言枯燥的可以自行跳过嘿~
混入 (mixins): 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。
怎么用?
举个栗子:
定义一个混入对象
把混入对象混入到当前的组件中
用法似不似相当简单呀
mixins的特点
1 方法和参数在各组件中不共享
混合对象中的参数num
组件1中的参数num进行+1的操作
混入对象中的方法
打印台的输出
值为函数的选项,如created,mounted等,就会被合并调用,混合对象里的钩子函数在组件里的钩子函数之前调用
混入对象函数中的console
组件函数中的console
打印台的打印
与vuex的区别
经过上面的例子之后,他们之间的区别应该很明显了哈~
vuex
:用来做状态管理的,里面定义的变量在每个组件中均可以使用和修改,在任一组件中修改此变量的值之后,其他组件中此变量的值也会随之修改。Mixins
:可以定义共用的变量,在每个组件中使用,引入组件中之后,各个变量是相互独立的,值的修改在组件中不会相互影响。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。