Como é quase Halloween, pensei que essa seria uma dica oportuna. Acontece que também é um dos artigos do Backbone.js que mais faço referência:
- Zombies! CORRE! (Gerenciando transições de página em aplicativos de backbone) http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/
A chave é implementar um método de ‘fechar’ em todas as visualizações do Backbone:
Backbone.View.prototype.close = function(){
this.remove();
this.unbind();
if (this.onClose){
this.onClose();
}
}
O principal a se observar é a atribuição de múltiplas visualizações ao mesmo elemento DOM (acredite em mim – isso é ruim!), Chamar close () destruirá esse elemento compartilhado. Por exemplo, este é o MAU CAMINHO:
MyPage.Views.List = Backbone.View.extend({
el : '#mypage'
});
Em vez disso, é melhor deixar a visualização criar seu próprio elemento raiz (que você pode alterar com a propriedade ‘tagName’) e colocá-lo onde quiser no DOM, de preferência com this. $ El.html (myPage) ou this. $ el.append (myPage) na visualização pai.
Ou se você está iniciando um novo projeto Backbone.js, pode evitar muitas dores de cabeça e usar o excelente projeto Backbone LayoutManager .
- crédito da imagem: TheDarkCloak