子组件向父组件共享数据使用自定义事件
父向子用自定义属性
兄弟之间用eventbus
组件的$nextTick(cb)方法,会把cb回调到下一个dom更新周期之后执行
Vue2 中非父子组件之间用的是eventbus,而Vue3中非父子通信用的是全局事件总线和Provide/Inject
对于缓存的组件来说,再次进入时,我们是不会执行created或者mounted等生命周期函数的:
但是有时候我们确实希望监听到何时重新进入到了组件,何时离开了组件;
这个时候我们可以使用activated 和 deactivated 这两个生命周期钩子函数来监听;
混入:Mixin(将相同的代码抽取出来,封装在一个单独的js文件中,提高的代码的复用性)
在Vue2和Vue3中都支持的一种方式就是使用Mixin来完成:
Mixin提供了一种非常灵活的方式,来分发Vue组件中的可复用功能;
一个Mixin对象可以包含任何组件选项;
当组件使用Mixin对象时,所有Mixin对象的选项将被 混合 进入该组件本身的选项中;
如果Mixin对象中的选项和组件对象中的选项发生了冲突,那么Vue会如何操作呢?
这里分成不同的情况来进行处理;
◼ 情况一:如果是data函数的返回值对象
返回值对象默认情况下会进行合并;
如果data返回值对象的属性发生了冲突,那么会保留组件自身的数据;
◼ 情况二:如何生命周期钩子函数
生命周期的钩子函数会被合并到数组中,都会被调用;
◼ 情况三:值为对象的选项,例如 methods、components 和 directives,将被合并为同一个对象。
比如都有methods选项,并且都定义了方法,那么它们都会生效;
但是如果对象的key相同,那么会取组件对象的键值对;
标签:选项,混入,vue,对象,钩子,Mixin,组件,返回值 From: https://www.cnblogs.com/guorunbin/p/17190185.html