Почему это не работает?Метеоритные пробелы не могут получить доступ к родительскому контексту
Template.tests.helpers
test_value: -> "Test"
contacts: -> Contacts.find()
contact: -> Contacts.findOne()
Пример 1:
<template name="tests">
{{test_value}}
{{#with contact}}
<p>{{firstname}}</p>
<p>{{../test_value}}</p>
{{/with}}
</template>
../test_value внутри контакты не не визуализируется
Пример 2
<template name="tests">
{{>testContact}}
</template>
<template name="testContact">
{{test_value}}
{{#with contact}}
<p>{{firstname}}</p>
<p>{{../test_value}}</p>
{{/with}}
</template>
ничего не работает в этом примере. Я бы предположил, что если контекст данных не определен в шаблоне testContact, он наследует контекст данных его родителя.
Пример 3
<template name="tests">
{{>testContact}}
</template>
<template name="testContact">
{{test_value}}
{{#with ../contact}}
<p>{{firstname}}</p>
<p>{{../test_value}}</p>
{{/with}}
</template>
тоже не работает.
Это сводит меня с ума!
РЕДАКТИРОВАТЬ
Пример 4
<template name="tests">
{{#with contact}}
{{> testContact}}
{{/with}}
</template>
<template name="testContact">
<p>{{firstname}}</p>
<p>{{../test_value}}</p>
</p>
</template>
Здесь можно видеть, что контекст данных контакта в шаблоне testContact. Тогда я ожидал бы {{../test_value}}, поскольку test_value находится на том же уровне, что и контакт в моем помощнике, но это не так.
Пример 5
<template name="tests">
{{#each contacts}}
{{> testContact}}
{{/each}}
</template>
<template name="testContact">
<p>{{firstname}}</p>
<p>{{../test_value}}</p>
</template>
Спасибо за ваш ответ! Означает ли это, что я должен использовать помощники только для просмотра материалов на экране и использовать другие вещи, например, железный маршрутизатор для определения моего контекста данных? – ndemoreau
Используйте помощники, где хотите. Вы можете передавать данные от помощников до дочерних шаблонов, написав {{> testcontact data = data testvalue = testvalue}} –
Извините, что беспокою вас снова, но когда я могу использовать ../ then? Я создал пример 4 в моем вопросе выше. Это хороший пример того, где я ожидаю, что он сработает, но он не ... – ndemoreau