Handlebars.js: Глобальный контекст недоступен в цикле?

Созданный на 19 февр. 2012  ·  3Комментарии  ·  Источник: handlebars-lang/handlebars.js

Если у меня есть следующий контекст:

{{model: {username: 'sontek'}, timezones: ['a', 'b', 'c']} 

и я делаю:

{{#each timezones }}
     {{model.username}}
{{/each}}

Модель не существует, поэтому я не могу получить доступ к имени пользователя.

Самый полезный комментарий

Это в документации в разделе "Пути".

Пути вложенных ручек могут также включать ../ сегменты, которые оценивают свои пути относительно родительского контекста.

<h1>Comments</h1>

<div id="comments">
  {{#each comments}}
  <h2><a href="/posts/{{../permalink}}#{{id}}">{{title}}</a></h2>
  <div>{{body}}</div>
  {{/each}}
</div>

Несмотря на то, что ссылка печатается в контексте комментария, она все равно может вернуться в основной контекст (сообщение), чтобы получить свою постоянную ссылку.
Сегмент пути ../ ссылается на область родительского шаблона, а не на один уровень выше в контексте. Это связано с тем, что помощники блоков могут вызывать блок с любым контекстом, поэтому понятие «на один уровень выше» не имеет особого смысла, за исключением ссылки на область родительского шаблона.

Все 3 Комментарий

Я обнаружил, что могу использовать ../model.username, но не могу найти документацию по этому поводу, я только что нашел это в некоторых отчетах об ошибках .... Это где-то задокументировано?

Это в документации в разделе "Пути".

Пути вложенных ручек могут также включать ../ сегменты, которые оценивают свои пути относительно родительского контекста.

<h1>Comments</h1>

<div id="comments">
  {{#each comments}}
  <h2><a href="/posts/{{../permalink}}#{{id}}">{{title}}</a></h2>
  <div>{{body}}</div>
  {{/each}}
</div>

Несмотря на то, что ссылка печатается в контексте комментария, она все равно может вернуться в основной контекст (сообщение), чтобы получить свою постоянную ссылку.
Сегмент пути ../ ссылается на область родительского шаблона, а не на один уровень выше в контексте. Это связано с тем, что помощники блоков могут вызывать блок с любым контекстом, поэтому понятие «на один уровень выше» не имеет особого смысла, за исключением ссылки на область родительского шаблона.

Большое спасибо @sontek и @spadgos

Была ли эта страница полезной?
0 / 5 - 0 рейтинги