在 vuejs 组件树中为 json 字符串的每一行添加一个值
Add a value to each line of a json string in the vuejs tree of components
我有一个 Vue 组件,它首先生成一个空列表,如下所示:
data: function(){
return {
list: [],
newThing: {
body: '',
},
};
},
我用 json 在组件方法中通过 ajax 获得的数据填充此列表,如下所示:
//ajax call
this.list = data.json();
我得到一个包含一堆对象的数组 JSON 就像这样:
[{"id":1,"body":"test body"},{"id":2,"body":"blablablabla"}]
现在我的问题是:
我想为这些值中的每一个添加一个附加值!像这样:
[{"id":1,"body":"test body", "editMode":false},{"id":2,"body":"blablablabla","editMode":false}]
这样我就可以在我的任务应用程序中使用功能。
有谁知道如何最好地做到这一点?
这是您要找的吗?
this.list.forEach(function (obj) {
obj.editMode = false;
});
this.list = data.json();
for (var i=0;i<this.list.length;i++){
this.list[i].editMode=false;
}
this.list.forEach(o => o.editMode = false)
但前提是您不关心它们的反应性。否则你应该使用 Vue.set
在 ajax 调用之后,听起来像一个简单的 for
循环应该可以工作:
for(var i = this.list.length; i--;){
this.list[i].editMode=false;
}
将您的数组放入一个变量中,然后迭代该变量并相应地添加。
<script>
var xyz = [{"id":1,"body":"test body"},{"id":2,"body":"blablablabla"}];
$.each(xyz,function(i,data){
data['editMode'] = false;
})
</script>
将此代码与 jquery 库放在一起,或者您可以在 javascrpt 中编写 for 循环,您将获得所需的输出
我有一个 Vue 组件,它首先生成一个空列表,如下所示:
data: function(){
return {
list: [],
newThing: {
body: '',
},
};
},
我用 json 在组件方法中通过 ajax 获得的数据填充此列表,如下所示:
//ajax call
this.list = data.json();
我得到一个包含一堆对象的数组 JSON 就像这样:
[{"id":1,"body":"test body"},{"id":2,"body":"blablablabla"}]
现在我的问题是:
我想为这些值中的每一个添加一个附加值!像这样:
[{"id":1,"body":"test body", "editMode":false},{"id":2,"body":"blablablabla","editMode":false}]
这样我就可以在我的任务应用程序中使用功能。 有谁知道如何最好地做到这一点?
这是您要找的吗?
this.list.forEach(function (obj) {
obj.editMode = false;
});
this.list = data.json();
for (var i=0;i<this.list.length;i++){
this.list[i].editMode=false;
}
this.list.forEach(o => o.editMode = false)
但前提是您不关心它们的反应性。否则你应该使用 Vue.set
在 ajax 调用之后,听起来像一个简单的 for
循环应该可以工作:
for(var i = this.list.length; i--;){
this.list[i].editMode=false;
}
将您的数组放入一个变量中,然后迭代该变量并相应地添加。
<script>
var xyz = [{"id":1,"body":"test body"},{"id":2,"body":"blablablabla"}];
$.each(xyz,function(i,data){
data['editMode'] = false;
})
</script>
将此代码与 jquery 库放在一起,或者您可以在 javascrpt 中编写 for 循环,您将获得所需的输出