【发布时间】:2017-09-20 05:10:19
【问题描述】:
我正在尝试使用 ngFor 填充分块结果
<div *ngFor="let item of states; let i = index">
<ul>
<li ngFor="let state of item">{{item}}</li>
</ul>
</div>
分块结果转成字符串
如果我尝试填充状态
<div *ngFor="let item of states; let i = index">
<ul>
<li ngFor="let state of item">{{state}}</li>
</ul>
</div>
我得到一个空白输出。
如果 * 在第二个 ngFor 之前使用
<div *ngFor="let item of states; let i = index">
<ul>
<li *ngFor="let state of item">{{state}}</li>
</ul>
</div>
如何分块和填充这些值?
Edit-1 & 2
编辑 3 这是我的html输出。如果我使用
,数据将作为字符串填充<div class="split-by-4">
<div *ngFor="let item of states; let i = index">
<ul>
<li ngFor="let state of item[i]">{{item}}</li>
</ul>
</div>
</div>
有效的答案(实际上是我的错误)
{
$("#cities-with-state-modal").modal('open');
this.chunkStates();
}
chunkStates(){
this.states = _.cloneDeep(this.backup.states); // this.states is loading and its giving as string before the data got chunked.
let chunkSize = _.toInteger(this.states.length/4);
this.statesChunk = _.chunk(this.states, chunkSize);
}
html
<div class="split-by-4" *ngIf="statesChunk && statesChunk.length">
<div *ngFor="let item of statesChunk; let i = index">
<ul>
<li *ngFor="let state of item">{{state.name}}</li>
</ul>
</div>
</div>
【问题讨论】:
-
我们甚至不知道您的数据是什么样的?您正在尝试迭代不是数组的东西,顺便说一句,使用
*ngFor:) -
我已经更新了this.states @AJT_82的console.log
-
@AJT_82 他需要做的就是在字段中添加一个点。
{{state.myField}}。在具有嵌套 ngFor 的数组数组上使用 ngFor 没有任何问题 -
@Royi,我从一开始就怀疑它是一个属性,但我希望 OP 提供足够的信息,以便得到一个体面的答案;)
-
@Royi 我被设置为那个错误是它不是一个包含数组的数组,我失明了,我只是看到了一个包含对象的数组。现在我看到它是一个带有数组的数组:D 呃,也许我需要休息一下:D