Вы всегда можете расширить текущий контекст в качестве помощника:
Template.parentTemplate.helpers({
iconContext: function() {
var result = _.clone(this);
result.withIcon = true;
return result;
}
});
И использовать его как это:
<template name="parentTemplate">
{{> myTemplate iconContext}}
</template>
В качестве альтернативы, вы можете создать более универсальный помощник, как это:
Template.registerHelper('extendContext', function(key, value) {
var result = _.clone(this);
result[key] = value;
return result;
});
А затем выберите пары ключ/значение из HTML-кода любого шаблона:
<template name="parentTemplate">
{{> myTemplate extendContext 'withIcon' true}}
{{> myTemplate extendContext 'isAwesome' false}}
</template>
Любое решение является более желательным, чем скрытие исходных данных в отдельном поле, поскольку оно поддерживает общий шаблон для ребенка.
Можете ли вы разработать немного больше? Зачем вам делать что-то _.clone (это)? – massimosgrelli
Зачем вам делать что-то _.clone (это)? Что делать, если я добавляю результат в дочерний контекст данных? Что-то вроде iconContext: function (childDataLikeMsgPost) {... childDataLikeMsgPost.withIcon = ...} Это очень помогло бы мне – massimosgrelli