Если у меня есть родительский шаблон Container
с шаблоном ребенка Content
АВЭК только кнопка:Метеор, вызов функции в шаблоне ребенка из родительского шаблона
<head>
<title>test</title>
</head>
<body>
{{> Container}}
</body>
<template name="Container">
{{# Content callback = callBack }}
<button>ok</button>
{{/Content}}
</template>
<template name="Content">
{{> UI.contentBlock}}
</template>
Если можно передать функцию в callback
. Например:
Template.Container.helpers({
callBack: function() {
return function() {
console.log('this is my callback');
}
}
});
Так что в моем шаблоне контента я могу вызвать функцию из родительского шаблона. Например, это:
Template.Content.events({
'click button': function (e, tmpl) {
tmpl.data.callback();
}
});
Но иногда мне нужно, чтобы это произошло по-другому. Родитель, вызывающий функцию в своем дочернем элементе. Каков ваш способ сделать это?
EDIT:
Я сохранил его в meteorpad, чтобы показать его в действии и сделать его легко вилке: http://meteorpad.com/pad/48NvCFExxW5roB34N/test-pass-callback-to-parent
Я использовал [event emitter] (https://github.com/Olical/EventEmitter) для связи между шаблонами раньше, вы передаете событие-эмиттер в дочерний шаблон, как указано выше, он работает достаточно хорошо. Детский шаблон также может генерировать события, которые должны быть получены родительским шаблоном. – nephets