我对Meteor相对较新,并且在解决这个问题时遇到一些困难,所以也许有人可以很友善地让我知道我做错了什么。我已经在客户端/服务器可用的Meteor(mongo)集合中创建了一个项目列表。我想删除我在删除按钮旁边显示的项目。到目前为止我已经做到了这一点。我输入数据的第一部分工作正常,模板List确实显示了我的所有数据:
在我的html文件(client / list.html)
中<template name=List>
<table class="table">
<tr>
<td>Item</td>
<td>Description</td>
</tr>
<tr>
<td>{{itemName}}</td>
<td>{{description}}</td>
<button class="btn" id="delete" type="submit">Delete</button>
</tr>
</template>
在js文件(client / list.js)
上Template.quickList.events({
'click #delete': function(e, t){
cl = Lists.findOne(t.data);
Lists.remove({_id: cl._id});
}
});
注意:如果我尝试 console.log(t.data)
,我会在事件侦听器(在list.js文件中)中获取空值不知道从哪里开始。
答案 0 :(得分:1)
模板的事件地图处理的事件将在this
关键字中提供模板的数据上下文。如果您的项目是数据上下文(如果您没有帮助者可能会获得itemName
和description
),则可以在事件处理程序中使用this._id
。
<tr>
<td>{{itemName}}</td>
<td>{{description}}</td>
<button class="btn" id="delete" type="submit">Delete</button>
</tr>
事件:
Template.quickList.events({
'click #delete': function(event){
Lists.remove(this._id);
}
});