В 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>