我认为这不是Meteor.js的问题, 但我不知道哪个类别适合这个问题。
我曾经使用tag来获取其他组件的事件。 即
<a href="#" name="someName"><i>...</i><button>...</button></a>
然后我在模板一侧处理了这个事件,
Template.name.events
'click [name=someName]': (e, tmpl) ->
// do actions
但是从V1.0开始,这种方法并不像以前那样有效。 这些事件无法触及模板事件方法,因此我无法在其中执行操作。
我知道这种方法不是像这样使用的正确方法, 但这非常有用,我的项目已经通过这种方式制作了很多。
还有其他想法吗?
提前致谢。
答案 0 :(得分:1)
所以用
Template.name.events
你有一个名为'name'的模板?
这是不好的做法。您应该避免命名模板(或任何与此有关的内容)可能与javascript API冲突的内容:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name。 “模板”是一个函数,如果您只是在浏览器控制台中键入Template.name,它可能会返回类似“”的内容。基本上你的Template.name.anything无法正常工作。
我尝试使用名为“name”
的模板创建一个新项目<template name="name"> ... </template>
您的事件选择器没有任何问题。所以简单的解决方法就是重命名模板。
如果您的模板不是名称,那么您的事件助手应采用
形式Template.<template_name>.events