Ниже то, что я сейчас:Могу ли я повторять * ng Для произвольного количества раз, используя встроенные угловые директивы?
<div class="reviews">
<a href="#">
<i *ngIf="product.rating.avgStars >= 1" class="fa fa-star"></i>
<i *ngIf="product.rating.avgStars >= 2" class="fa fa-star"></i>
<i *ngIf="product.rating.avgStars >= 3" class="fa fa-star"></i>
<i *ngIf="product.rating.avgStars >= 4" class="fa fa-star"></i>
<i *ngIf="product.rating.avgStars >= 5" class="fa fa-star"></i>
<span class="amount">({{product.rating.reviewCount}} Reviews)</span>
</a>
Как вы уже догадались, он будет повторять значок звезды на количество звезд продукт имеет. Он работает как есть, однако я чувствую, что должен быть лучший способ. В идеале я хотел бы использовать:
<i *ngFor="+product.rating.avgStars" class="fa fa-star"></i>
Я знаю, что я могу потенциально использовать директивы или трубы, чтобы инкапсулировать эту функциональность; Я просто спрашиваю, есть ли способ использовать встроенные угловые директивы для произвольного повторения HTML-тега.
Возможный дубликатом [Повтор HTML элемент несколько раз, используя ngFor на основе ряда] (Http: // StackOverflow. com/questions/36535629/repeat-html-element-multiple-times-using-ngfor-based-on-a-number) –
Я выделил для вас разъяснения, я специально спросил о встроенных угловых директивах. Я не спрашиваю, как, я спрашиваю, есть ли способ сделать это лучше. – jake
В упомянутом вопросе/ответе также упоминается использование массива. Вы можете добавить элемент 'array: Function = Array' и использовать его в шаблоне' '. Это выглядит как разумный способ сделать это. – cartant