【发布时间】:2017-09-06 08:15:50
【问题描述】:
我有类似 Json 的对象
var obj = {
"TimSays":"I can Walk",
"RyanSays":"I can sing",
"MaxSays":"I can dance",
"SuperSays":"I can do it all"
}
我想在模板中迭代这个对象,所以我使用管道帮助,因为在 Angular2/4 中没有直接的方法来迭代模板中的 obj
import { Injectable, Pipe } from '@angular/core';
@Pipe({
name: 'keyobject'
})
@Injectable()
export class Keyobject {
transform(value, args:string[]):any {
let keys = [];
for (let key in value) {
keys.push({key: key, value: value[key]});
}
return keys;
}}
模板代码
<div *ngFor="let o of obj | keyobject">{{o.value}}{{o.key}}</div>
在我的 Javascript 中,如果我对 Json 对象进行任何更改,动态更改不会反映在模板上。
obj.TimSays = "我想睡觉";
在模板中它仍然说我可以走路。 如果模板和 ngFOr(Object) 像两种方式绑定一样工作,我需要在这里做些什么。
【问题讨论】:
-
你应该在改变它的内部字段后覆盖对象的实例。
标签: angular ngfor angular-pipe