我有这样的事情:
Template.todoList.helpers({
todos: function() {
return Todos.find({}); // Returns records with a todoText, ownerId and done field.
}
});
然后在模板中我使用{{#each}}
块来列出待办事项。但我希望能够通过复选框更改done
。如果我只是在{{#each}}
块中添加这样的复选框,它将正确显示初始状态,但如果我切换复选框,则记录将不会更新。我需要跟踪记录的_id
,但我会在哪里存储它?如果我能掌握正确的_id
,其余部分非常简单:
Template.todoList.events({
'change .doneCheckbox': function(event) {
var todoId = ??;
Todos.update(todoId, {$set: {done:event.target.checked}});
}
});
我会在??
答案 0 :(得分:0)
应该可以从this
(更具体地说是this._id
)获得:
var todo = this,
todoID = todo._id;
您也可以从记录中访问其他属性(例如this.done
)。