首页 > 解决方案 > 等效于 Angular 中 C# 的简单“for”(使用索引迭代)

问题描述

在剃须刀页面中,我可以写:

 @for (int i = 1; i <= Model.TotPages; i++)
    {
        <div class="pagmenu">
            @if (i == Model.CurPage)
            {
                @Html.ActionLink(i.ToString(), "Index", "Home", new { curPage = i, catId = Model.CatId, discounted = Model.Discounted, search= Model.Search }, new { @class = "btn btn-primary" })
            }
            else
            {
                @Html.ActionLink(i.ToString(), "Index", "Home", new { curPage = i, catId = Model.CatId, discounted = Model.Discounted, search = Model.Search }, new { @class = "btn btn-default" })
            }
        </div>
    }

角度等价物是多少? 据我了解,*ngFor相当于foreachnot of 。for

标签: angularngfor

解决方案


如果 Angular 你只能迭代数组,那么你可以使用“repeat”“on fly”创建一个数组,见这个 SO

//in ts
n=10;

<div *ngFor="let a of ' '.repeat(n).split('');let i=index">
  {{i}}
</div>

或使用函数返回数组

//in .ts
n=10;
getFoolArray(n)
{
    return new Array(n)
}

<div *ngFor="let a of getFoolArray(n);let i=index">
  {{i}}
</div>

另一种选择是创建指令重复,请参阅此 SO 答案


推荐阅读