vue

作者: 芗芗_ | 来源:发表于2019-01-23 12:14 被阅读0次
    // 定义 Vue 构造函数
    function Vue (options) {
      if (process.env.NODE_ENV !== 'production' &&
        !(this instanceof Vue)
      ) {
        warn('Vue is a constructor and should be called with the `new` keyword')
      }
      this._init(options)
    }
    这里采用了安全函数 必须使用new关键字 不能作为普通函数执行
    
    const dataDef = {}
      dataDef.get = function () { return this._data }
      const propsDef = {}
      propsDef.get = function () { return this._props }
      if (process.env.NODE_ENV !== 'production') {
        dataDef.set = function (newData: Object) {
          warn(
            'Avoid replacing instance root $data. ' +
            'Use nested data properties instead.',
            this
          )
        }
        propsDef.set = function () {
          warn(`$props is readonly.`, this)
        }
      }
      Object.defineProperty(Vue.prototype, '$data', dataDef)
      Object.defineProperty(Vue.prototype, '$props', propsDef)
    
    Vue.prototype 原型上的 $data $props只读属性
    

    相关文章

      网友评论

          本文标题:vue

          本文链接:https://www.haomeiwen.com/subject/baikuftx.html