У меня есть массив объектов, которые содержат свойство star_rating
[{ name: 'Chemistry', star_rating: 3 },
{ name: 'Physics', star_rating: 5 }]
Я отображаю эти объекты в списке с помощью ng-repeat
.Что я хочу сделать, это отобразить число звездочек объекта вместе с максимальным количеством звездочек (5)
, поэтому список будет выглядеть примерно так
Chemistry [*][*][*][ ][ ]
Physics [*][*][*][*][*]
У меня есть существующее решение, которое рассчитывает и отображает это
<i ng-repeat="i in [].constructor(topic.star_rating) track by $index" class="yellow"></i>
<i ng-repeat="i in [].constructor(5 - topic.star_rating) track by $index" class="grey"></i>
Это отлично работает для небольших массивов, но при увеличении списка (если пользовательский интерфейс запаздывает и становится нервным) наблюдается снижение производительности, так как эти повторы умножаются на количество объектов
Есть либолее эффективное решение для моего текущего метода?
Спасибо за любой вклад!