我会在Nuxtjs应用程序中通过Vue.set()设置道具。
editPost(post) {
Vue.$set(post, 'edit', true)
}
错误: Vue未定义
答案 0 :(得分:4)
您只能使用this
而不是Vue.
。这引用了方法内部的当前vue组件,因此它将以相同的方式工作:
editPost(post) {
this.$set(post, 'edit', true)
}
答案 1 :(得分:0)
有时您可能希望为现有对象分配多个属性,例如使用 Object.assign() 或 _.extend()。但是,添加到对象的新属性不会触发更改。在这种情况下,创建一个具有原始对象和混合对象属性的新对象:
// 而不是 Object.assign(this.someObject, { a: 1, b: 2 })
this.someObject = Object.assign({}, this.someObject, { a: 1, b: 2 })