Angular 中 C# 的简单 "for"(使用索引迭代)的等价物
Equivalent of simple "for" (iterating with index) of C# in Angular
在剃须刀页面我可以写:
@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>
}
angular 中的等价物是什么?
据我了解,*ngFor
相当于 foreach
而不是 for
。
如果 Angular 您只能遍历数组,那么您可以使用 "repeat" 创建数组 "on fly",参见
//in ts
n=10;
<div *ngFor="let a of ' '.repeat(n).split('');let i=index">
{{i}}
</div>
或使用函数 return 数组
//in .ts
n=10;
getFoolArray(n)
{
return new Array(n)
}
<div *ngFor="let a of getFoolArray(n);let i=index">
{{i}}
</div>
另一种选择是创建指令重复,参见 this SO answer
在剃须刀页面我可以写:
@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>
}
angular 中的等价物是什么?
据我了解,*ngFor
相当于 foreach
而不是 for
。
如果 Angular 您只能遍历数组,那么您可以使用 "repeat" 创建数组 "on fly",参见
//in ts
n=10;
<div *ngFor="let a of ' '.repeat(n).split('');let i=index">
{{i}}
</div>
或使用函数 return 数组
//in .ts
n=10;
getFoolArray(n)
{
return new Array(n)
}
<div *ngFor="let a of getFoolArray(n);let i=index">
{{i}}
</div>
另一种选择是创建指令重复,参见 this SO answer