0

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

1个回答

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就这么简单。

撰写答案