简述 mixin、extends 的覆盖逻辑 ?
参考答案:
Mixin和Extends都是Vue.js中用于组件复用的机制,但它们的覆盖逻辑有所不同。
Mixin是一种重用Vue组件选项的方式。当组件使用Mixin时,Mixin的选项会与组件的选项进行合并。如果存在命名冲突,以组件的选项为准,Mixin的选项会被覆盖。也就是说,如果组件和Mixin中都有相同的选项,那么组件中的选项会覆盖Mixin中的选项。
而Extends则是一种通过基础组件扩展其他组件的方式。被扩展的组件可以访问基础组件的所有选项。如果有命名冲突,以扩展组件的选项为准,覆盖基础组件的选项。这意味着,如果扩展组件和基础组件中有相同的选项,那么扩展组件中的选项会覆盖基础组件中的选项。
总的来说,Mixin和Extends的覆盖逻辑都是以组件或扩展组件的选项为准,覆盖与之冲突的其他选项。但是它们的应用场景有所不同,Mixin主要用于选项的合并,而Extends则用于创建新的组件构造函数,并继承原始组件的所有选项。