[英]Vue.js reactivity for new object
I am trying to make an object reactive for Vue.js (not present in "data", so no reactive by default).我正在尝试使 object 对 Vue.js 具有反应性(“数据”中不存在,因此默认情况下没有反应性)。
I came across this guide using Vue.set, but... How do I set an empty object reactive?我使用 Vue.set 遇到了本指南,但是...如何设置一个空的 object 反应式?
An example for explanation:举例说明:
let app = new Vue({
el: "#app",
data: {
items: [],
},
methods: {
setItems: function () {
this.items[0] = {}; //how to make this reactive?
Vue.set(this.items[0], 'name', newValue); //newValue should be updated every hour form API response
}
"newValue" is never updated because "{}" is not present in "data", but I don't know how to use Vue.set in this case. “newValue”永远不会更新,因为“数据”中不存在“{}”,但我不知道在这种情况下如何使用 Vue.set。
Any idea on how to solve it without adding this code below?关于如何在不添加以下代码的情况下解决它的任何想法?
data: {
items: [{}],
},
Thank you very much!非常感谢!
How about the following approach?下面的方法怎么样?
setItems: function () {
Vue.set(this.items, 0, { 'name': newValue })
}
Example: https://jsfiddle.net/7mejxybg/3/示例: https://jsfiddle.net/7mejxybg/3/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.