Я заменил некоторый повторяющийся код в моем файле частичными, но теперь вызов относительной части больше не работает.handlebars.js: относительные пути в частичных не работают
У меня есть эти структуры данных:
var data = { staff: [
{"name": "Alan"},
{"name": "Bettina"}
],"company": "Rad, Inc."};
Оригинальный шаблон выглядит следующим образом:
<script id="first_template" type="text/x-handlebars-template">
{{#each staff}}
<li>Name: {{name}} , Company: {{../company}}</li>
{{/each}}
</script>
Я изменил его, как это использовать частичный:
<script id="list-partial" type="text/x-handlebars-template">
<li>Name: {{name}} , Company: {{../company}}</li>
</script>
<script id="second_template" type="text/x-handlebars-template">
{{#each staff}}
{{> list}}
{{/each}}
</script>
В пример с частичным названием компании не получается. Я приведу рабочий пример на jsfiddle: http://jsfiddle.net/staeff/qwms6h2b/
Кто-нибудь видит, почему он не работает, что я пытаюсь сделать?
Поскольку частицы имеют свой собственный контекст, в который вы проходили. Конструкция '{{> list}}' эквивалентна '{{> list this}}'. – raidendev
Привет raidendev, спасибо за ответ. Я прочитал контекст, но все еще смущен. Не будет ли это «правильным» контекстом, для чего я хочу? – staeff
Проблема заключается в '{{../ company}}' конструкции, потому что у вас нет верхнего уровня '../' в частичном. Один из способов решить это - переместить '# each' внутри частичного и назвать его чем-то вроде« staffList ». Но правильный способ - реорганизовать вашу структуру данных. – raidendev