Костяк 0.9.9: разница между слушать и
Я пытаюсь узнать новые изменения, которые они сделали в позвоночнике 0.9.9.
в настоящее время у меня есть проблемы, чтобы понять разницу между listenTo
и on
:
listenTo
var View = Backbone.View.extend({
tagName: "div",
intialize: function() {
this.listenTo(this.model, 'change', this.render);
},
render: function() {
this.$el.empty();
this.$el.append('<p>hello world</p>');
}
});
on
var View = Backbone.View.extend({
tagName: "div",
intialize: function() {
this.model.on('change', this.render, this);
},
render: function() {
this.$el.empty();
this.$el.append('<p>hello world</p>');
}
});
Я слышал, что listenTo
позволяет stopListening
чтобы отказаться от подписки на все события, когда, например, представление удаляется, чтобы избежать утечки памяти.
это единственная причина?
2 ответа:
listenTo
иstopListening
пришли из сообщества, в основном. Они помогают облегчить привязку и развязку событий.существует много существующей документации и сообщений в блогах, связанных с этой идеей, включая материал, который я написал по этому вопросу.
Джонни Ошика-первый человек, которого я увидел, используя эту технику. Он был первоначально размещен как ответ на вопрос StackOverflow здесь:костяк.ДШ : заселить и воссоздать посмотреть?
Вы можете прочитать, что я написал об этом здесь:
когда вы создаете представление, как
listenTo
иon
добавить обработку событий. Однако, когда вид уничтожается,listenTo
вызов автоматически удалить обработчик событий. Это предотвращает утечки памяти и слушатели событий зомби.используйте
on
Если вы хотите управлять обработчик себе. Просто не забудьте позвонитьoff
. В противном случае звонитеlistenTo
.