Итак, чтобы объяснить, почему мне это нужно: у меня есть кладка из фотографий и я необходимо добавить индекс к каждой из этих фотографий.
Дело в том, что я не могу полагаться на индекс своего v-for, потому что иногда это намеренно «пустой кейс».
|---|---|---|
| | 2 | 3 |
| 1 |---|---|
| | 4 | 5 |
|---|---|---|
| 6 | | 8 |
|---| 7 |---|
| 9 | | 10|
|---|---|---|
Код выглядит так.
<div v-for="(row, i) in rphotos" :key="i">
<div v-for="(p, j) in row" :key="i*nbCol+j">
<div v-if="p"
:data-index="index"
class="g-item">
<!-- Increment index there -->
</div>
<div v-else class="g-item g-empty" />
</div>
</div>
Однако из-за реактивности vuejs мой индекс всегда будет обновляться.
Другим решением, возможно, может быть проверка вычисленного if в строке g-item
не слишком g-empty
, однако я даже не уверен, что это возможно, и все же не вижу, насколько точно я мог бы это сделать.
Лучше всего было бы увеличивать отображаемое значение, как это делается при рендеринге шаблонов PHP, таких как Smarty или Blade. Но поскольку фреймворки javascript должны быть реактивными, есть ли способ сделать это?
Приветствуются любые идеи.