【发布时间】:2017-04-26 22:42:16
【问题描述】:
阅读一本书时,我遇到了一个示例,它在同一个模板中使用了两次相同的 *ngFor 循环。我试图重构嵌套组件并发送不起作用的“i”变量。
该示例使用引导轮播,需要循环显示指示器按钮和幻灯片的类别。
您知道不重复相同循环的更好的编写方法吗?
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#welcome-products"
*ngFor="let category of slideCategories;let first=first; let i=index"
attr.data-slide-to="{{i}}" [ngClass]="{active: first}"></li>
</ol>
<!-- Content -->
<div class="carousel-inner" role="listbox">
<div *ngFor="let category of slideCategories;let first=first"
class="carousel-item" [ngClass]="{active: first}">
<db-category-slide
[category]="category" (select)="selectCategory($event)">
</db-category-slide>
</div>
这是 db-category-slide
的模板<div class="card">
<img class="card-img-top img-fluid center-block product-item" src="{{category.image}}" alt="{{category.title}}">
<div class="card-block">
<h4 class="card-title">{{category.title}}</h4>
<p class="card-text">{{category.desc}}</p>
<button class="btn btn-primary" (click)="browse()">Browse</button>
</div>
</div>
组件具有相同的输入/输出,如下所示:
@Input() category: Category;
@Output() select: EventEmitter<Category> = new EventEmitter<Category>();
【问题讨论】:
标签: twitter-bootstrap angular angular2-template angular2-directives