Привязка данных 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>

Другие вопросы по тегам