混入(Mixin)
核心思想
从组件中抽出公共部分,和vuex不同,Mixin抽离的数据和方法是独立的,组件使用相同的Mixin之后是不影响的。
大概就是组件的组件
偷一段官网的示例
1 | // 定义一个混入对象 |
选项合并
当组件和混入对象存在同名选项时
比如,数据对象在内部会进行递归合并,并在发生冲突时以组件数据优先。
1 | var mixin = { |
对于钩子函数则会合并成为一个数组,因此mixin中的钩子和组件本身的钩子都会被调用,但是mixin的钩子会先于自身钩子调用
1 | var mixin = { |
值为对象的选项,例如 methods
、components
和 directives
,将被合并为同一个对象。两个对象键名冲突时,取组件对象的键值对。
1 | var mixin = { |