Meteor 如何获取已单击项目的id

Meteor 如何获取已单击项目的id,meteor,Meteor,我需要获取当前单击项目的id。 我现在已经完成了脏的解决方案,我将当前项的id存储在按钮的id中,在模板管理器中单击该按钮时检索id <button type="button" id ="{{id}}" class="btn btn-info btn-sm"><i class="fa fa-eye"></i>View</button> 如果数据上下文有id,那么,这个.id将起作用 尝试在单击事件时控制台此console.log(此) "cli

我需要获取当前单击项目的id。 我现在已经完成了脏的解决方案,我将当前项的id存储在按钮的id中,在模板管理器中单击该按钮时检索id

<button type="button" id ="{{id}}" class="btn btn-info btn-sm"><i class="fa fa-eye"></i>View</button>

如果数据上下文有id,那么,
这个.id
将起作用

尝试在单击事件时控制台此
console.log(此)

 "click .btn":function (e){
    console.log(this);
    Router.go('forms.show', {_id: this.id}, {query: 'q=s', hash: 'hashFrag'});
  }
编辑

另外,请阅读本文


这是作者在那篇文章中提到的常见错误之一。

要获得Meteor模板单击事件中单击的元素,请使用currentTarget属性:

"click .btn":function (event) {
  Router.go('forms.show', {_id: event.currentTarget.id}, {query: 'q=s', hash: 'hashFrag'});
}

这对其他事件(如submit、mouseover等)也有效。

这不正确,这是指模板对象,而不是按钮元素。@Sandervandeaker,否,事件处理程序中的第二个参数是指模板实例
引用用于呈现捕捉事件的元素的数据上下文。是的,您说得对,抱歉。那么这两个答案都会起作用。
"click .btn":function (event) {
  Router.go('forms.show', {_id: event.currentTarget.id}, {query: 'q=s', hash: 'hashFrag'});
}