0

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

我曾经使用标签来获取其他组件的事件。IE

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

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

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

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

我知道这种方法不是这样使用的正确方法,但这真的很有用,而且我的项目已经用这种方法做了很多。

有没有另一个想法可以做到这一点?

提前致谢。

4

1 回答 1

1

所以随着

Template.name.events

您有一个名为“名称”的模板吗?

这是不好的做法。您应该避免命名可能与 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>

您的事件选择器没有任何问题。所以简单的解决方法就是重命名模板。

如果您的模板未命名为 name 那么您的事件助手应采用以下形式

Template.<template_name>.events
于 2014-11-27T18:31:51.650 回答