2014-09-10 4 views
0

я прохожу в шаблон объект с двумя свойствами:Доступа «вложенного» dust.js области видимости

  • Headers который является строки, как ['letter 1','letter 2'].
  • Values который представляет собой массив массивов строк, таких как [['a','b'],['c','d']].

Мой шаблон выглядит как последуйте

{#Values} 
<tr> 
    {#. header=Headers[$idx]} 
    <td>{header}: {.}</td> 
    {/.} 
</tr> 

Но это не работает, $ IDX является индексом Values и не индекс Values[...].

Так что же такое синтаксис?

ответ

0

Я думаю, что ваша проблема зависит от того, когда пыль оценивает значения параметров в секции/частичном. Если значение является константой (param = "abc") или именем {param = xyz}, значение параметра оценивается до смещения контекста в раздел или частичный. Это означает, что значение параметра - это то, что было бы непосредственно перед секцией/частичной линией. Если значение параметра имеет вид param = "{xyz}", тогда генерируется функция, которая вызывается в секции или частичной для оценки. Эта функция увидит значения в контексте нахождения внутри раздела и любой итерации, которую он выполняет. Как написано, заголовки [$ idx] будут использовать значение $ idx для итерации значений. Если вы измените его на

{#. header = "{Заголовки [$ idx]}"}

будет оцениваться внутри раздела и получить значение $ idx {#.} итерации.

Смежные вопросы