我需要获取当前点击项目的ID。 我现在已经完成了脏解决方案,我存储了当前项目的id,在按钮的id中,在模板管理器中单击该按钮时检索id。
<button type="button" id ="{{id}}" class="btn btn-info btn-sm"><i class="fa fa-eye"></i>View</button>
然后在经理那里。
Template.formItem.events = {
"click .btn":function (e){
Router.go('forms.show', {_id: $(e.target).attr('id')}, {query: 'q=s', hash: 'hashFrag'});
}
}
答案 0 :(得分:6)
如果数据上下文具有id,则this.id
将起作用
尝试在点击事件
上安慰此console.log(this)
"click .btn":function (e){
console.log(this);
Router.go('forms.show', {_id: this.id}, {query: 'q=s', hash: 'hashFrag'});
}
修改强>
另外,请阅读这篇文章https://dweldon.silvrback.com/common-mistakes
这是该帖子中提到的一个常见错误。
答案 1 :(得分:3)
要获取在Meteor模板单击事件中单击的元素,请使用currentTarget属性:
"click .btn":function (event) {
Router.go('forms.show', {_id: event.currentTarget.id}, {query: 'q=s', hash: 'hashFrag'});
}
这也适用于其他事件,如提交,鼠标悬停等。