Erneutes Erstellen einer entfernten Ansicht im Backbone js

8

Die View.remove () - Funktion in Backbone-JS entfernt das Containerelement der Ansicht selbst aus dem DOM und verhindert das erneute Erstellen von Sichten, die entfernt wurden. Irgendeine Idee, wie dieses Szenario behandelt wird

Hier ist mein Code,

%Vor%

Die letzten beiden Zeilen oben erstellen die Ansicht nicht neu, da div mit id="attrs" nicht mehr da ist.

    
mzafer 10.06.2012, 04:51
quelle

2 Antworten

21

Zunächst brauchen Sie Ihre dispose -Methode nicht, der Standard remove ist ausreichend:

%Vor%

Zweitens können Sie remove überschreiben, wenn die Standardversion nicht Ihren Anforderungen entspricht. Die Standardimplementierung entfernt einfach this.el und bereinigt einige Ereignislistener:

%Vor%

In Ihrem Fall möchten Sie alles, was render macht, rückgängig machen und das bedeutet, dass Sie das HTML innerhalb this.el löschen und die Ereignisse durch Aufrufen von %Co_de% :

%Vor%

Dann kannst du undelegateEvents aufrufen und es ausschalten und attrView.remove() , um es zurück zu holen.

Demo: Ссылка

    
mu is too short 10.06.2012, 05:21
quelle
0

Sehen Sie sich LayoutManager für Backbone-Ansichten an, die das verstehen, wenn Sie eine Ansicht entfernen (übergeordnetes Element im Containment) Sinn und nicht Objekt-Hierarchie-Sinn), seine Unteransicht sollte auch entfernt werden.

    
Ustaman Sangat 24.04.2013 15:04
quelle

Tags und Links