Aufruf der View-Funktion aus einer anderen Ansicht - Backbone

8

Ich habe die folgenden Ansichten in meiner Anwendung. Grundsätzlich möchte ich show_house () in App.MapView aufrufen, wenn auf die li der App.HouseListElemView geklickt wird.

Was wäre der beste Weg, dies zu tun?

%Vor%     
AlexBrand 14.06.2012, 23:48
quelle

1 Antwort

14

Das aktuelle Haus ist wirklich Teil des globalen Status Ihrer Anwendung. Erstellen Sie also ein neues Modell, das Ihren globalen Anwendungsstatus enthält:

%Vor%

Dann kann Ihre HouseListElemView auf Klicks reagieren, indem Sie einen Wert in app_state :

setzen %Vor%

und Ihr MapView hört einfach auf 'change:current_house' events von app_state :

%Vor%

Demo: Ссылка

Vielleicht möchten Sie, dass current_house ein tatsächliches Modell ist und nicht einfach nur id , aber das ist einfach.

Sie werden wahrscheinlich alle möglichen anderen Verwendungen für app_state finden, sobald Sie sie haben. Sie können sogar ein wenig REST und AJAX hinzufügen und erhalten Persistenz für Ihre Anwendung Einstellungen so ziemlich kostenlos.

Ereignisse sind die übliche Lösung für jedes Problem in Backbone und Sie können Modelle für alles, was Sie wollen, erstellen. Sie können sogar temporäre Modelle erstellen, um Dinge zusammen zu kleben.

    
mu is too short 15.06.2012, 01:43
quelle

Tags und Links