В total.js можно ли присвоить значение переменным или сохранить / использовать индекс @{foreach...} внутри вложенного @{foreach...} встроенного в HTML?

Например , можно ли определить / использовать "item_index" в примере, аналогичном этому:

<div>
 @{foreach item in list}
  <p>@{item.title}:<p>
  @{foreach content in item.contents}
   <p>@{content.name} is the @{index}th content of @{item.title}, and the @{item_index}th item in the list</p>
  @{end}
 @{end}
</div>

можно ли присвоить значения типа @{item_index = index} перед переходом во вложенный цикл?

1 ответ

Решение

Вы можете использовать R(сокращение от репозитория) для хранения дополнительных данных. Это работает:

@{foreach m in [1, 2, 3, 4]}
    @{R.index = index}
    @{foreach m2 in [10, 20, 30, 40]}
        <div>@{m2}, index: @{R.index}, index2: @{index}</div>
    @{end}
@{end}

выход:

<div>10, index: 0, index2: 0</div>
<div>20, index: 0, index2: 1</div>
<div>30, index: 0, index2: 2</div>
<div>40, index: 0, index2: 3</div>
<div>10, index: 1, index2: 0</div>
<div>20, index: 1, index2: 1</div>
<div>30, index: 1, index2: 2</div>
<div>40, index: 1, index2: 3</div>
<div>10, index: 2, index2: 0</div>
<div>20, index: 2, index2: 1</div>
<div>30, index: 2, index2: 2</div>
<div>40, index: 2, index2: 3</div>
<div>10, index: 3, index2: 0</div>
<div>20, index: 3, index2: 1</div>
<div>30, index: 3, index2: 2</div>
<div>40, index: 3, index2: 3</div>
Другие вопросы по тегам