Костяк 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 55

2 ответа:

listenTo и stopListening пришли из сообщества, в основном. Они помогают облегчить привязку и развязку событий.

существует много существующей документации и сообщений в блогах, связанных с этой идеей, включая материал, который я написал по этому вопросу.

Джонни Ошика-первый человек, которого я увидел, используя эту технику. Он был первоначально размещен как ответ на вопрос StackOverflow здесь:костяк.ДШ : заселить и воссоздать посмотреть?

Вы можете прочитать, что я написал об этом здесь:

когда вы создаете представление, как listenTo и on добавить обработку событий. Однако, когда вид уничтожается,listenTo вызов автоматически удалить обработчик событий. Это предотвращает утечки памяти и слушатели событий зомби.

используйте on Если вы хотите управлять обработчик себе. Просто не забудьте позвонить off. В противном случае звоните listenTo.