例如,在下面,只调用foo
事件处理程序。 (这很奇怪 - 我希望调用bar
事件处理程序,因为<form>
元素位于bar
模板中。)
<template name="foo">
{{#bar klass="down"}}
<button type="submit">test</button>
{{/bar}}
</template>
<template name="bar">
<form>
{{> Template.contentBlock}}
</form>
</template>
Template.foo.events
'submit form' ->
alert 'foo'
Template.bar.events
'submit form' ->
alert 'bar'
答案 0 :(得分:1)
看一下this包,你只需要声明一个事件处理程序,就可以在你想要的任何模板上使用。
示例来自文档。
//here we declare 1 only event
Template.foo.events({
'click button': function (event, template) {
console.log("foo button clicked");
}
});
//here we inherit
Template.foo2.inheritsEventsFrom("foo"); //where foo2 is another Template, and now have access to the event from foo template
祝你好运
答案 1 :(得分:1)
如何这样做的答案是问题中的代码,其实际上是按照需要工作的。调用bar
处理程序,然后调用foo
处理程序。