Ich habe ein Modell, auf das mehrere Ansichten zugreifen müssen, und um dies zu erreichen, definiere ich das Modellmodul sofort wie folgt:
%Vor% Ich brauche nur eine Instanz dieses Modells - genau das ist es. Die Problemumgehung dafür ist, soweit ich weiß, ein separates App
-Modul. Etwas wie:
, auf dem Sie Referenzen auf Objekte beim Start der Anwendung instanziieren und speichern können:
%Vor%Aber ich habe das Gefühl, dass dies eine schlechte Alternative ist, da Sie im Wesentlichen wieder einen globalen Namensraum haben - etwas, das RequireJS vermeiden sollte.
Gibt es Alternativen und gibt es einen guten Grund, Singleton-Modelle wie oben beschrieben zu vermeiden?
Hmm .. Ich habe die RequireJS-Module als Singleton-Objekte für eine Weile ohne Probleme verwendet. Hier ist eine verwandte Frage, die ich gestellt habe.
Ist es ein schlechte Praxis, das requireJS-Modul als Singleton zu verwenden?
Hoffe, das hilft!
Sie müssen das Namespaceding nicht erstellen. Ihr erstes Beispiel erstellt einen Singleton. Wann immer Sie dieses Modul benötigen, erhalten Sie dieselbe Instanz Ihres Modells. Anstatt also ein neues App-Modul zu erstellen und die Instanz dort zu speichern, benötigen Sie nur das Modul Ihres ersten Beispiels. Wir verwenden es in unserer App, um eine Singleton-Instanz unserer App zu erstellen, und ich kann damit keine Fallstricke sehen.
Tags und Links javascript requirejs backbone.js