为了账号安全,请及时绑定邮箱和手机立即绑定

Object.defineProperty定义的属性在谷歌浏览器显示的问题

Object.defineProperty定义的属性在谷歌浏览器显示的问题

MMMHUHU 2019-02-06 21:33:43
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})

这样写就么有。


查看完整回答
反对 回复 2019-02-06
  • 1 回答
  • 0 关注
  • 761 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信