Ok так что это немного странно ...MeteorJS - Элемент списка не обновляется после осуществления публикации/подписки и методы/вызовы
Я получил эти методы на стороне сервера ...
Meteor.publish('todos', function() {
return Todos.find({userId: this.userId},{sort:{createdAt:-1}});
});
Meteor.methods({
editTodo: function(todoId) {
Todos.update(todoId, {$set: {checked: !this.checked}});
}
});
И вот вызов на стороне клиента ....
Template.list.helpers({
todos: function(){
Meteor.subscribe('todos');
return Todos.find({});
}
});
Template.list.events({
"click .toggle-check": function(){
Meteor.call('editTodo',this._id);
}});
проблема заключается в том, что, когда нажмите на кнопку «.toggle проверки» происходит ... „проверено“ булево срабатывает на но никогда не отрывается .. .. это.checked (в {ch ecked:! this.checked}), не ссылаясь на поле, сразу прочитанное из коллекции? Или, может быть, я внедряю что-то неправильно при подписке на данные?
Пожалуйста, помогите!
В вашем методе «this.checked» разрешает правильную вещь? Это выглядит странно. – zim
он визуализируется в представлении, потому что я передаю проверенное состояние в флажок, который, кажется, происходит (после некоторого дополнительного исследования), заключается в том, что обновление не происходит. То, что упускается из этого, заключается в том, что у меня есть полный CRUD, работающий SELECT, INSERT, DELETE, все работает нормально. UPDATE, похоже, не работает должным образом. При дальнейшем рассмотрении я заметил, что когда я нажимаю кнопку обновления, я извлекал и показывал строку в консоли (через серверную сторону), проверяется, всегда устанавливается значение true, но никогда не становится ложным. Итак! This.checked не работает по существу. Также не разрешать/отрицать! – Metrophobe
Да, я говорю, что «это», вероятно, не так, как вы думаете в этом контексте. По крайней мере, я никогда не видел, чтобы это так использовалось. я бы продолжил отладку использования «этого». – zim