По Метеор 0.9.4, определяющий шаблон. MyTemplate. MyHelperFunction() уже недействителен.Вызов одного помощника из другого помощника в контексте шаблона (Метеор 0.9.4)
Мы отказались от шаблона Template.someTemplate.myHelper = ... в пользу Template.someTemplate.helpers (...). Использование старого синтаксиса все еще работает, но оно выводит предупреждение на консоль.
Для меня это казалось прекрасным, так как это могло бы (по крайней мере) сохранить некорректный текст и дублированный текст. Однако вскоре я обнаружил, что способ создания приложений Meteor был склонен к тому, что эта новая версия устарела. В моих приложениях я определял помощники/функции со старым синтаксисом, а затем вызывал эти методы из других помощников. Я нашел, что это помогло мне сохранить мой код чистым и последовательным.
Например, я мог бы иметь контроль, как это:
//Common Method
Template.myTemplate.doCommonThing = function()
{
/* Commonly used method is defined here */
}
//Other Methods
Template.myTemplate.otherThing1 = function()
{
/* Do proprietary thing here */
Template.myTemplate.doCommonThing();
}
Template.myTemplate.otherThing2 = function()
{
/* Do proprietary thing here */
Template.myTemplate.doCommonThing();
}
Но это, кажется, не доступен с новым методом Метеор наводит на мысль (что заставляет меня думать, что я был неправ все вместе). Мой вопрос: Каков предпочтительный способ обмена общей логикой шаблона между помощниками шаблона?
Я осознаю, что это по-прежнему актуальный вопрос, так как опытные установки оптимально могли бы вызвать в помощники шаблонов. В противном случае вы в конечном итоге переписываете свое приложение без необходимости ... – MrMowgli
Этот ответ может быть полезен: https://stackoverflow.com/questions/27755891/meteor-what-is-spacebars-kw-hash-object#answer-27756461 –