2016-04-15 2 views
1

Ich habe eine ziemlich komplexe angularJS-Anwendung mit vielen Modulen, Fabriken und Controllern gebaut.Sollen angular .value und .constant zum Speichern von Initialisierungswerten und Utility-Funktionen verwendet werden?

Wenn dies gestartet wurde, habe ich eine Datei parameters.js verwendet, um die in der Anwendung verwendeten Initialisierungsvariablen und Konstanten zu speichern. Einige dieser Werte sind Konstanten und andere können von der Anwendung aktualisiert werden (Sprache, Suchdatum ...). Dies ist kein eckiges Element, sondern nur ein js-Objekt mit diesen Werten. Meine Frage ist, sollte dies auch in einem Modul sein? Gibt es einen Vorteil darin, dies in einem Modul zu halten? Wenn ja, was ist der beste Weg dies zu tun, mit .value und .constant? eine Fabrik schaffen?

Auch ähnliches Problem, aber in diesem Fall in Bezug auf eine Dienstprogrammfunktion js-Datei, wo ich einige Funktionen parse Daten und einige andere Sachen an verschiedenen Stellen in der Anwendung verwendet. Soll das in einem Modul gespeichert werden? und wieder, was wäre der Weg, es zu tun? eine Fabrik?

Jeder Tipp würde sehr geschätzt werden. Danke!

Antwort

0

nur aus einer Sicht, dies zu tun Sprechen, verwenden wir so etwas, als constants.js Datei:

import angular from 'angular'; 

export default angular 
    .module('app.constants', []) 
    .constant('someLength', 50) 
    .constant('someDateFormat', 'DD MMM YYYY') 
    .name 

die besondere Konstante Spritzen, wo immer Sie in Ihrer Anwendung benötigen.

+0

Hallo, aber meine Frage ist immer noch da, hat es irgendwelche Vorteile gegenüber nur eine einfache js-Datei mit einigen Konstanten? – David

+0

Wenn Sie eine Konstante oder einen Wert definieren, können diese App-weit verwendet und einmal deklariert werden. Kein besonderer "Vorteil" außer dem, nehme ich an. Werte können ihre Werte ändern, Konstanten nicht. Da sie Teil von angularJS sind, können Sie sie auch verwenden! – rrd

Verwandte Themen