XiZev / blog

record my learning of font-end
0 stars 0 forks source link

Vue源码之mixin的作用及实现 #10

Open XiZev opened 3 years ago

XiZev commented 3 years ago

定义

按照vue官方文档的说明,mixin是一个混入对象,k-v为任意组件选项,比如data、watch、computed、hook、assets、methods、props、injectd、provide,是一个公共对象,用来封装提取公共组件选项,再把它混合进入组件实例本身的选项,这就扩展了组件实例本身的选型,对同名选项又涉及到选项合并策略。

原理

  Vue.options = Object.create(null);
  ASSET_TYPES.forEach(function (type) {
    Vue.options[type + 's'] = Object.create(null);
  });