我正试图找到一种在Meteor中使用着名视图处理事件的实用方法。
所以我读过gadicohen的文档(famous-views demo),到目前为止它的工作原理。但是如果我将layoutTemplate添加到我的iron:router并使用{{> yield}}路由到模板,那么我只能从layoutTemplate的JS文件中捕获事件。
意思是我必须将所有的JS逻辑都包含在layout-JS文件中,这似乎是不切实际的。
的layout.html:
{{#famousContext id="MainCtx"}}
{{> yield}}
{{/famousContext}}
layout.js:
Template.layout.events({
'click': function() {} // works!!
});
someTemplate.html:
<template name="someTemplate">
{{#Scrollview align="[0,0.06]" origin="[0,0]"}}
{{#famousEach items}}
{{>Surface template="item" size="[undefined, true]" }}
{{/famousEach}}
{{/Scrollview}}
<template name="item">
<div id="{{_id}}" style="height: 100%; width: 100%;>
<template>
someTemplate.js:
Template.someTemplate.events({
'click': function() {} // doesn't work
});
我也尝试过FamousEvents,但没有成功。 使用target.on()我甚至不知道如何处理Scrollview中的表面。
那么Meteor的做法是什么?
谢谢和问候
答案 0 :(得分:0)
我发现错误,正如着名的网站所说 &#34;事件不会传播(&#34;冒泡&#34;)up(在Surface之外)。&#34; ,所以正确的用法是:
Template.item.events({
'click': function() {} // should work!
});