Backbone 0.9.9: Diferença entre listenTo e on

Eu estou tentando aprender as novas alterações que fizeram no Backbone 0.9.9.

Atualmente tenho problemas para entender a diferença entre listenTo e on :

ouvir

 var View = Backbone.View.extend({ tagName: "div", intialize: function() { this.listenTo(this.model, 'change', this.render); }, render: function() { this.$el.empty(); this.$el.append('

hello world

'); } });

em

 var View = Backbone.View.extend({ tagName: "div", intialize: function() { this.model.on('change', this.render, this); }, render: function() { this.$el.empty(); this.$el.append('

hello world

'); } });

Ouvi dizer que listenTo permite com stopListening para cancelar a inscrição de todos os events quando, por exemplo, a exibição é removida para evitar vazamentos de memory.

Esse é o único motivo?

listenTo e stopListening vieram basicamente da comunidade. Eles ajudam a tornar mais fácil vincular e desvincular events.

Há muita documentação existente e postagens de blogs em torno da ideia, incluindo coisas que escrevi sobre o assunto.

Johnny Oshika é a primeira pessoa que vi usando essa técnica. Foi postado originalmente como uma resposta a uma pergunta do StackOverflow aqui: Backbone.js: repovoar ou recriar a visão?

Você pode ler o que eu escrevi sobre isso, aqui:

  • Backbone.EventBinder: Melhor gerenciamento de events para seus aplicativos de backbone
  • Zumbis! CORRE! (Gerenciando transições de página em aplicativos de backbone)
  • Backbone.js e garbage collection JavaScript

Quando você cria uma exibição, listenTo e add add event handling. No entanto, quando a exibição é destruída, a chamada listenTo removerá automaticamente o manipulador de events . Isso evita vazamentos de memory e ouvintes de events zumbis.

Então, use se você quiser gerenciar o manipulador sozinho. Apenas certifique-se de off . Caso contrário, chame listenTo .

    Intereting Posts