【发布时间】:2018-03-12 09:50:26
【问题描述】:
我从 VueJS 2 开始,我创建了一个简单的插件,可以将参数添加到 Vue 实例。
我有问题,因为当我更新此值时,我的计算属性仍然相同。
我的示例插件代码:
export default function (Vue) {
Vue.MyProperty = "test"
Object.defineProperties(Vue.prototype, {
"$myProperty": {
"get": function () {
return Vue.MyProperty
},
"set": function (value) {
Vue.MyProperty = value
return this
}
}
})
}
还有我的组件代码
export default {
"computed": {
"test": function () {
return this.$myProperty
}
}
}
当我在其他组件中更改this.$myProperty 时,我的组件返回无效值(例如,当我从"test" 更改为"newvalue" 时,我可以看到"newvalue")但计算属性test 仍然是旧值(@ 987654328@ 在我的示例中)。
我尝试使用this.$set(this, "$myProperty", value),但这仍然不起作用。
如何使用或声明此属性以在计算或监视属性中使用它?
【问题讨论】:
标签: javascript vue.js vuejs2 object-property