angular2中*ngFor中迭代对象的问题
我在subscribe中有一个数组,如下所示angular2中*ngFor中迭代对象的问题,angular,typescript,Angular,Typescript,我在subscribe中有一个数组,如下所示 [Discount Condition:Array(3), Stay Consition:Array(2)] Discount Condition:Array(3) 0:object EventType:"success" Heading:"Discount Condition" Help:"Terms" 1:object EventType:"success" Heading:"Discount Condition"
[Discount Condition:Array(3), Stay Consition:Array(2)]
Discount Condition:Array(3)
0:object
EventType:"success"
Heading:"Discount Condition"
Help:"Terms"
1:object
EventType:"success"
Heading:"Discount Condition"
Help:"Terms"
2:object
0:object
EventType:"success"
Heading:"Discount Condition"
Help:"Terms"
Stay Condition:Array(2)
0:object
1:object
我试着用组件html打印它,比如
<div *ngFor="let item of Term">
{{item.Heading}}
</div>
如果我用inspect元素检查,它会说
<!--template bindings={
"ng-reflect-ng-for-of": ""
}-->
下面是函数
getTerms(){
this.quoteService.getTerms()
.subscribe(
terms => {
this.terms = terms.resultData.Terms;
this.notes = terms.resultData.ImpNotes;
this.exclusions = terms.resultData.Exclusions;
var arr=[];
var strHeading;
for(let i=0;i<this.terms.length;i++) {
strHeading=this.terms[i].Heading;
if (arr.indexOf(strHeading) >= 0) {
this.uniqTerm[strHeading].push(this.terms[i]);
}
else {
if (!this.uniqTerm[strHeading])
this.uniqTerm[strHeading] = [];
this.uniqTerm[strHeading].push(this.terms[i]);
this.Term.push(this.uniqTerm);
arr.push(strHeading);
}
}
console.log(this.Term);
},
response => {
if (response.status == 404) {
//this.router.navigate(['NotFound']);
}
});
}
有人能指出我哪里出错了吗?这个词似乎是一个数组
差不多
<div *ngFor="let item of Term[0]">
{{item.Heading}}
</div>
这将是一个肮脏的检查,看看你的数据是否正确
然后如果你想迭代这些数组
<div *ngFor="let item of Term">
<div *ngFor="let elem of item">
{{elem?.Heading}}
</div>
</div>
可能有用。这还不够。请提供更多代码。@GünterZöchbauer代码有问题,请更新check@NikhilRadadiya数组中的对象是否具有Heading属性?你能从这些对象中包含一个console.log吗?@NikhilRadadiya我很难理解你的数据结构:-是保留考虑和折扣条件数组还是对象?很抱歉,如果我是console.logtypeof this.Term;然后它回来了object@NikhilRadadiya*ngFor只在数组上迭代,不在对象上迭代。