У меня есть следующий Backbone View:удаление модели и обновление вида в backbonejs
Chatbox.Views.Message = Backbone.View.extend({
template: _.template($("#tmplt-Message").html()),
events: {
"click a.remove_link" : "clear"
},
initialize: function() {
_.bindAll(this, 'render', 'remove');
this.model.on('clear', this.clear);
this.listenTo(this.model, 'destroy', this.remove);
},
render: function() {
return $(this.el).append(this.template(this.model.toJSON())) ;
},
clear: function() {
this.model.destroy();
}
});
Когда я нажимаю на ссылку с классом remove_link
функция clear()
называется правильно и destroy()
выполняется.
Как я могу позвонить clear()
извне, в моем случае у меня есть коллекция, и я хочу удалить модель в этой коллекции. В настоящее время я пытаюсь сделать это:
message = Chatbox.ChatLogCollection.where({ hash: hash});
message.clear();
Chatbox.ChatLogCollection.remove(message);
Но я получаю: TypeError: message.clear не является функцией
Как я могу позвонить clear()
удалить модель с точки зрения?
Когда я пытаюсь 'message.remove()' Я получаю 'message.remove не функция '. И как я могу привязать представление к прослушиванию изменений? – redshark1802
'this.model.on ('remove', this.render, this);' Is Chatbox.ChatLogCollection - объект коллекции или экземпляр объекта коллекции? – EmptyArsenal
Это экземпляр объекта коллекции – redshark1802