Привязка данных foreach для наблюдаемого числа
Я пытаюсь отобразить звезды для каждого элемента в списке
У меня есть интерфейс с 5-звездочной оценкой на видео, как мне сделать for each для подсчета этой оценки? вместо создания массива для оценки?
interface Video{
Score: number;
}
<td>
<span data-bind="foreach: score">
<span class="glyphicon-star"></span>
</span>
<span data-bind="foreach: 5 - score">
<span class="glyphicon-star-empty"></span>
</span>
</td>
1 ответ
Решение
Вы можете использовать Array.from()
илиArray(score)
создать массив из партитуры
Array.from({ length: score })
или же
[...Array(score)]
(Использованиеscore()
если этоobservable
)
Вот минимальный фрагмент:
const model = {
score: 3
}
ko.applyBindings(model)
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<span data-bind="foreach: Array.from({ length: score })">
<span class="glyphicon-star">*</span>
</span>