如何在Meteor v1.0中捕获模板事件?

时间:2014-11-27 14:50:31

标签: html templates meteor meteor-helper

我认为这不是Meteor.js的问题, 但我不知道哪个类别适合这个问题。

我曾经使用tag来获取其他组件的事件。 即

<a href="#" name="someName"><i>...</i><button>...</button></a>

然后我在模板一侧处理了这个事件,

Template.name.events
  'click [name=someName]': (e, tmpl) ->
    // do actions  

但是从V1.0开始,这种方法并不像以前那样有效。 这些事件无法触及模板事件方法,因此我无法在其中执行操作。

我知道这种方法不是像这样使用的正确方法, 但这非常有用,我的项目已经通过这种方式制作了很多。

还有其他想法吗?

提前致谢。

1 个答案:

答案 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
相关问题