Backbone übergibt ein Modell an den Router

8

Ich entwickle eine Anwendung für Android unter Verwendung von js und Backbone. Ich muss ein Modell aus einer Sammlung per Touchend Event an den Router übergeben. Wie kann ich es tun?

%Vor%     
Augusto Numbers 25.08.2013, 14:36
quelle

2 Antworten

7

Sie müssen die Navigationsfunktion des Backbones wie folgt überschreiben:

%Vor%

Hier habe ich eine benutzerdefinierte Funktion "param" für das Abrufen / Festlegen von Parametern geschrieben, die Sie senden möchten.

Um nun einen benutzerdefinierten Parameter zu senden, können Sie ihn wie folgt senden:

%Vor%

Um die Daten in get-Daten innerhalb der Callback-Funktion abzurufen, können Sie folgenden Code schreiben:

%Vor%
    
Raju Bera 01.12.2014 14:24
quelle
5

Router.navigate() gibt keine Daten weiter. Es legt das URL-Fragment fest und nimmt einige Optionen. Siehe die Dokumentation hier: Ссылка

Mein Vorschlag:

  • Verwenden Sie Router.navigate() , um die URL zu ändern.
  • Verwenden Sie den Aggregator Backbone.Events , um Ihr Ereignis und Ihre Daten auszulösen (oder zu veröffentlichen).

Also sagen Sie, Sie haben eine Liste von Filmen und Sie haben eine Ansicht-Taste. Die Ansicht-Schaltfläche veröffentlicht das gewünschte Modell und ändert das URL-Fragment.

%Vor%

An anderer Stelle in Ihrer App fügen Sie einen Handler für movie:view:request hinzu.

%Vor%

Schließlich, schau dir MarrionetteJS an. Es verwendet das Publish / Subscribe-Muster für die Kommunikation zwischen Teilen einer App. Es ist ein wirklich netter Rahmen, da Sie sich grundsätzlich für die Teile entscheiden, die Sie verwenden möchten. Es ist sehr gut dokumentiert und unterstützt. Auch sein Schöpfer, Derick Bailey , ist sehr aktiv auf Stackoverflow, so dass du schnell Hilfe bekommst. p>     

Will M 25.08.2013 14:46
quelle

Tags und Links