mixin的合并规则

如果Mixin对象中的选项和组件对象中的选项发生了冲突,那么Vue会如何操作呢?

这里分成不同的情况来进行处理;

情况一:如果是data函数的返回值对象
  • 返回值对象默认情况下会进行合并;
  • 如果data返回值对象的属性发生了冲突,那么会保留组件自身的数据;
情况二:如果是生命周期钩子函数
  • 生命周期的钩子函数会被合并到数组中,都会被调用;
  • mixin中的生命周期钩子函数会比组件中的生命周期钩子函数先执行(全局mixin先于局部mixin,局部mixin先于组件);
情况三:值为对象的选项,例如 methods、components 和 directives,将被合并为同一个对象。
  • 比如都有methods选项,并且都定义了方法,那么它们都会生效;
  • 但是如果对象的key相同,那么会取组件对象的键值对;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容