1 代码如下function Vue () { this._init()
}
Vue.prototype._init = function () { let vm = this}Object.defineProperty(Vue.prototype, '$ssrContext', {
get () { return false
}
})const vm = new Vue()2 实例化后在浏览器查看到如下3 问题同样在原型上定义的方法,使用Object.defineProperty方法,为什么在当前实例下就有一个$ssrContext属性,是否是浏览器实现原因?
1 回答
达令说
TA贡献1821条经验 获得超6个赞
Vue.prototype._init
这种写法是在 Vue 的原型上定义方法,实例通过 proto 可访问到。
vm.__proto__ === Vue.prototype // true
Object.defineProperty(Vue.prototype, '$ssrContext', { get () { return false } })
用 get 的时候回默认继承属性。
Object.defineProperty(Vue.prototype, '$ssrContext', { value: false})
这样写就么有。
添加回答
举报
0/150
提交
取消