Так что, если у меня есть шаблон:Meteor.js: как передать контекст данных одного помощника другому помощнику?
<template name="myTemplate">
{{foo}}
</template>
и вспомогательный шаблон:
Template.myTemplate.foo = function() {
blah = Session.get('blah');
// code to do stuff with blah
return blah;
};
, а затем у меня есть еще один шаблон:
<template name="myOtherTemplate">
{{foo}}
</template>
и я хочу контекст данных этого шаблон должен быть таким же, как предыдущий шаблон, что бы я сделал?
Сначала мне пришло в голову, что использование {{#with}} может быть правильным, но похоже, что это будет работать только в том случае, если область действия второго шаблона уже находится внутри первого.
В конечном счете, я хотел бы иметь возможность использовать все помощники, определенные для одного шаблона в другом шаблоне, и знать, как это сделать.
Ваш ответ на 100% правильный, но моя формулировка была плохая и ее не совсем то, что я ищу. Я не знаю, использовали ли вы железный маршрутизатор, но одна из вещей, которую вы можете сделать, это передать контекст данных через данные: ... Я хочу передать контекст данных основного шаблона в шаблон заголовка. Есть ли способ получить все помощники, связанные с одним шаблоном, в один объект и передать это? Может быть, данные: Template.myTemplate.helpers() или что-то в этом роде. (Я дам вам ответ в любом случае, просто любопытно в основном) – funkyeah
Контекст данных не совпадает с шаблонами. Вы должны собрать помощников вручную, если хотите их использовать, потому что у 'Template.myTemplate' есть куча других прикрепленных к нему материалов, которые вы не хотите передавать. Вы можете передать как помощники, так и данные как объект с любым вы хотите, хотя будьте осторожны, чтобы не смутить себя. –