Vue.extend与 Vue.util.extend 有啥区别

Vue.extend与 Vue.util.extend 有啥区别?
Vue2.0的文档里面没有Vue.util相关的说明啊,但是 weex 的 demo 中有下面的语句
new Vue(Vue.util.extend({ el: '#root', router, store }, App))

阅读 7.8k
1 个回答

Vue.extend 和 Vue.util.extend 在 vue.runtime.js 文件中是这么定义的。

  Vue.util = {
    warn: warn,
    extend: extend,
    mergeOptions: mergeOptions,
    defineReactive: defineReactive$$1
  };

 /**
  * Mix properties into target object.
  */
  function extend (to, _from) {
    for (var key in _from) {
      to[key] = _from[key];
    }
    return to
  }

  /**
   * Class inheritance
   */
  Vue.extend = function (extendOptions) {
    extendOptions = extendOptions || {};
    var Super = this;
    
    /* ... */
    
    var Sub = function VueComponent (options) {
      this._init(options);
    };
    
    /* ... */
    
    return Sub
  };
    

Vue.util.extend 的主要作用就是合并 { el: '#root', router, store } App就这么简单。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏