2014-10-08 3 views
0

У меня есть что-то вроде этого:Как сохранить синхронизацию модели с блоком {{#each}}?

Template.todoList.helpers({ 
    todos: function() { 
     return Todos.find({}); // Returns records with a todoText, ownerId and done field. 
    } 
}); 

А потом в шаблоне я использую {{#each}} блок перечислить ToDos. Но я хочу иметь возможность изменить, если они done с флажком. Если я просто добавлю флажок в блок {{#each}}, он будет правильно отображать начальное состояние, но если я переключу этот флажок, запись не будет обновляться. Мне нужно будет отслеживать запись _id, но где я ее сохраню? Если я могу достать правильный _id остальное очень просто:

Template.todoList.events({ 
    'change .doneCheckbox': function(event) { 
     var todoId = ??; 
     Todos.update(todoId, {$set: {done:event.target.checked}}); 
    } 
}); 

Что бы я вставляю в месте ???

ответ

0

должен быть доступен из this (более конкретно this._id):

var todo = this, 
    todoID = todo._id; 

Вы можете получить доступ других свойств из записи тоже (например this.done).

Смежные вопросы