Ich möchte ein UserSession-Modell erstellen, das die Sitzungs-ID mithilfe des jQuery-Cookie-Plugins lädt und in einem Cookie speichert.
Dies ist mein Code für mein UserSession-Modellmodul:
%Vor%Aber sagen wir, ich möchte darauf in meine Login-Ansicht zugreifen:
%Vor%Die Sache ist jedes Mal, wenn ich auf das UserSession-Modell in Modulen zugreife (siehe die Rückruffunktion von model.save success), es benutzt Standardwerte, also muss ich eine Art Singleton-Instanz des UserSession-Modells haben, wie kann ich das machen Dies?
Meine erste Idee war, den App-Namespace so in unserer main.js zu verwenden (erstes Hauptmodul, das geladen wird) und dort das UserSession-Modul zu initialisieren, und jedes Mal, wenn ein anderes Modul auf dieses Modul zugreift, muss das Hauptmodul a Objekt, das die UserSession-Instanz zurückgibt.
Wie kann das am besten gemacht werden?
Danke
Angenommen, Sie möchten eine einzige globale UserSession für Ihre gesamte Anwendung, dann würde ich einfach eine instanziierte UserSession vom UserSession-Modul zurückgeben. Auf diese Weise erhalten Sie dasselbe Objekt zurück, wenn Sie UserSession in einem Definitionsaufruf verwenden. Zum Beispiel
%Vor%Dann woanders:
%Vor%Require.js sollte das UserSession-Modul nur einmal ausführen, unabhängig davon, wie oft es an anderer Stelle verwendet wird. Daher ist das UserSession-Objekt, das Sie dort instanziieren, effektiv ein Singleton.
Tags und Links javascript jquery requirejs backbone.js