在 *ngFor-- IONIC2/Angular2 中迭代两个数组
Iterate two arrays in *ngFor-- IONIC2/Angular2
我将值存储在两个数组中以在单个 ion-list 中迭代。 Billerstatusstate 和 Billerstatusnamelst 是两个数组。
我尝试了以下迭代
<ion-list ion-item *ngFor="let stat of Billerstatusstate;let bil of Billerstatusnamelst " >
{{bil}} <button round>{{stat}}</button>
</ion-list>
和
<ion-list ion-item *ngFor="let stat of Billerstatusstate" *ngFor="let bil of Billerstatusnamelst " >
{{bil}} <button round>{{stat}}</button>
</ion-list>
它为两个局部变量取第一个迭代值。
我是不是遗漏了什么??
有没有其他方法可以将两个值存储在单个数组中并使用 ngFor 在视图端拆分它..
您可以利用 ngFor
指令的索引来实现这一点。
<ion-list ion-item *ngFor="let stat of Billerstatusstate; let i=index">
{{Billerstatusnamelst[i]}} <button round>{{stat}}</button>
</ion-list>
我可以创建一个管道 "merge" 将您的两个数组合并为一个,然后您可以迭代这个新数组。
这是一个示例:
@Pipe({
name: 'merge'
})
export class MergePipe {
transform(arr1, arr2) {
var arr = [];
arr1.forEach((elt, i) => {
arr.push({ state: elt, name: arr2[i] });
});
}
}
并这样使用:
<ion-list ion-item *ngFor="let elt of Billerstatusstate | merge:Billerstatusnamelst" >
{{elt.name}} <button round>{{elt.state}}</button>
</ion-list>
我遵循了这种方法..
我将值存储在单个数组而不是两个数组中,因为它来自单个来源。
this.Billerstatusnamelst.push({name:"testname",Status:"Failure"});
在HTML部分
<ion-list ion-item *ngFor="let bil of Billerstatusnamelst " >
{{bil.name}} <button round>{{bil.Status}}</button>
</ion-list>
它对我有用..
为什么不这样做
<ion-list ion-item *ngFor="let stat of Billerstatusstate;let bil of Billerstatusnamelst " >
{{bil}} <button round>{{stat}}</button>
</ion-list>
难道你没有在代码中创建一个 array
:
// I'm assuming they both have the same size
for (var _i = 0; _i < Billerstatusstate.length; _i++) {
this.singleArray.push({
stat: this.Billerstatusstate[_i],
bil: this.Billerstatusnamelst[_i]
});
}
然后在您的页面中:
<ion-list ion-item *ngFor="let item of singleArray;" >
{{item.bil}} <button round>{{item.stat}}</button>
</ion-list>
正在使用单个数组中的多个数组
this.termlist = this.result.termlst.$values;
this.disableterm = this.result.disableterms.$values;
this.customlist = this.result.customgrplist.$values;
单数组代码
this.totalarrayob =[ this.termlist,this.disableterm, this.customlist];
如何使用 *ngfor
调用 html
<ion-col col-12 no-padding *ngFor="let list of totalarrayob;let k = index">
<h6>lorem Ipsum</h6>
<ion-list>
<ion-item>
<ion-label>I Term</ion-label>
<ion-checkbox checked="false"></ion-checkbox>
<ion-note item-right>
25000
</ion-note>
</ion-item>
</ion-list>
</ion-col>
我将值存储在两个数组中以在单个 ion-list 中迭代。 Billerstatusstate 和 Billerstatusnamelst 是两个数组。
我尝试了以下迭代
<ion-list ion-item *ngFor="let stat of Billerstatusstate;let bil of Billerstatusnamelst " >
{{bil}} <button round>{{stat}}</button>
</ion-list>
和
<ion-list ion-item *ngFor="let stat of Billerstatusstate" *ngFor="let bil of Billerstatusnamelst " >
{{bil}} <button round>{{stat}}</button>
</ion-list>
它为两个局部变量取第一个迭代值。
我是不是遗漏了什么??
有没有其他方法可以将两个值存储在单个数组中并使用 ngFor 在视图端拆分它..
您可以利用 ngFor
指令的索引来实现这一点。
<ion-list ion-item *ngFor="let stat of Billerstatusstate; let i=index">
{{Billerstatusnamelst[i]}} <button round>{{stat}}</button>
</ion-list>
我可以创建一个管道 "merge" 将您的两个数组合并为一个,然后您可以迭代这个新数组。
这是一个示例:
@Pipe({
name: 'merge'
})
export class MergePipe {
transform(arr1, arr2) {
var arr = [];
arr1.forEach((elt, i) => {
arr.push({ state: elt, name: arr2[i] });
});
}
}
并这样使用:
<ion-list ion-item *ngFor="let elt of Billerstatusstate | merge:Billerstatusnamelst" >
{{elt.name}} <button round>{{elt.state}}</button>
</ion-list>
我遵循了这种方法.. 我将值存储在单个数组而不是两个数组中,因为它来自单个来源。
this.Billerstatusnamelst.push({name:"testname",Status:"Failure"});
在HTML部分
<ion-list ion-item *ngFor="let bil of Billerstatusnamelst " >
{{bil.name}} <button round>{{bil.Status}}</button>
</ion-list>
它对我有用..
为什么不这样做
<ion-list ion-item *ngFor="let stat of Billerstatusstate;let bil of Billerstatusnamelst " >
{{bil}} <button round>{{stat}}</button>
</ion-list>
难道你没有在代码中创建一个 array
:
// I'm assuming they both have the same size
for (var _i = 0; _i < Billerstatusstate.length; _i++) {
this.singleArray.push({
stat: this.Billerstatusstate[_i],
bil: this.Billerstatusnamelst[_i]
});
}
然后在您的页面中:
<ion-list ion-item *ngFor="let item of singleArray;" >
{{item.bil}} <button round>{{item.stat}}</button>
</ion-list>
正在使用单个数组中的多个数组
this.termlist = this.result.termlst.$values;
this.disableterm = this.result.disableterms.$values;
this.customlist = this.result.customgrplist.$values;
单数组代码
this.totalarrayob =[ this.termlist,this.disableterm, this.customlist];
如何使用 *ngfor
调用 html<ion-col col-12 no-padding *ngFor="let list of totalarrayob;let k = index">
<h6>lorem Ipsum</h6>
<ion-list>
<ion-item>
<ion-label>I Term</ion-label>
<ion-checkbox checked="false"></ion-checkbox>
<ion-note item-right>
25000
</ion-note>
</ion-item>
</ion-list>
</ion-col>