我有一个来自上传的对象
obj: {
name: 'Mike'
street: 'Love'
}
我可以通过
<div v-for="test in obj">
<span>{{test.name}}, {{test.street}}</span>
</div>
我得到很好的输出。
但是,对象键根据用户上传的内容而有所不同,有时键会变为
obj: {
address: 'street test 123',
fine: '32 PHP',
magic: 'Love'
}
我如何遍历它才能变得动态?
答案 0 :(得分:0)
您必须将所有密钥放在一个数组中,然后才能绑定它。
obj: {
address: 'street test 123',
fine: '32 PHP',
magic: 'Love'
}
var keys = Object.keys(obj);
<div>
<span>{{keys.join(,)}}</span>
</div>
答案 1 :(得分:0)
您可以像这样遍历整个对象,这里=AVERAGEIFS(C:C, A:A, E2, B:B, "<="&TODAY(), B:B, ">="&AGGREGATE(14, 7, B:B/((A$1:A$18=E2)*(B$1:B$18<=TODAY())), MIN(3, COUNTIFS(A:A, E2, B:B, "<="&TODAY()))))
是变量名,index
是值
item
var app4 = new Vue({
el: '#app-4',
data: {
obj: {
address: 'street test 123',
fine: '32 PHP',
magic: 'Love'
}
}
})
答案 2 :(得分:0)
我认为您不想为此目的使用v-for
。
这是我要做的,而无需更改您的obj
的设置方式:
<div id="foo">
{{computedVal}}
</div>
,并且在Vue
实例中,
new Vue({
data: {
// ... miscellaneous stuff
obj: {
prop1: 'val1',
prop2: 'val2',
prop3: 'val3',
}
},
methods:{ /* ... */ },
computed: {
computedVal(){
let str = '';
for(let key in this.obj){
let val = this.obj[key];
str += `<span>${key} : ${val}</span>`;
}
return str;
}
}
});
这将是您的输出:
<div id="foo">
<span>prop1 : val1</span>
<span>prop2 : val2</span>
<span>prop3 : val3</span>
</div>
当然,您也可以在v-for
内部执行此操作。
我的理解是,到目前为止,Vue在v-for
内不进行对象属性迭代。