AngularJS
Konstanten
Suche…
Bemerkungen
UPPERCASE Ihre Konstante : Konstante in Kapital zu schreiben ist eine gängige bewährte Methode, die in vielen Sprachen verwendet wird. Es ist auch nützlich, die Art der eingespritzten Elemente eindeutig zu identifizieren:
Wenn Sie .controller('MyController', function($scope, Profile, EVENT))
, wissen Sie sofort .controller('MyController', function($scope, Profile, EVENT))
:
-
$scope
ist ein Winkelelement -
Profile
ist eine benutzerdefinierte Dienstleistung oder eine Fabrik -
EVENT
ist eine Winkelkonstante
Erstellen Sie Ihre erste Konstante
angular
.module('MyApp', [])
.constant('VERSION', 1.0);
Ihre Konstante ist jetzt deklariert und kann in einen Controller, einen Service, eine Factory, einen Provider und sogar in eine Config-Methode eingefügt werden:
angular
.module('MyApp')
.controller('FooterController', function(VERSION) {
this.version = VERSION;
});
<footer ng-controller="FooterController as Footer">{{ Footer.version }}</footer>
Anwendungsfälle
Hier gibt es keine Revolution, aber die Winkelkonstante kann insbesondere dann nützlich sein, wenn Ihre Anwendung und / oder Ihr Team zu wachsen beginnt ... oder wenn Sie einfach gerne schönen Code schreiben!
Refactor-Code Beispiel mit Ereignisnamen. Wenn Sie in Ihrer Anwendung eine Vielzahl von Ereignissen verwenden, haben Sie die Ereignisnamen ein wenig überall. Wenn ein neuer Entwickler Ihrem Team beitritt, benennt er seine Ereignisse mit einer anderen Syntax. Sie können dies leicht verhindern, indem Sie die Namen Ihrer Ereignisse in einer Konstanten gruppieren:
angular .module('MyApp') .constant('EVENTS', { LOGIN_VALIDATE_FORM: 'login::click-validate', LOGIN_FORGOT_PASSWORD: 'login::click-forgot', LOGIN_ERROR: 'login::notify-error', ... });
angular .module('MyApp') .controller('LoginController', function($scope, EVENT) { $scope.$on(EVENT.LOGIN_VALIDATE_FORM, function() { ... }); })
... und jetzt können die Namen Ihrer Veranstaltung von der automatischen Vervollständigung profitieren!
Konfiguration definieren Finden Sie alle Ihre Konfiguration an einem Ort:
angular .module('MyApp') .constant('CONFIG', { BASE_URL: { APP: 'http://localhost:3000', API: 'http://localhost:3001' }, STORAGE: 'S3', ... });
Teile isolieren. Manchmal gibt es einige Dinge, auf die Sie nicht sehr stolz sind ... wie zum Beispiel ein fest codierter Wert. Anstatt sie in Ihren Hauptcode aufzunehmen, können Sie eine Winkelkonstante erstellen
angular .module('MyApp') .constant('HARDCODED', { KEY: 'KEY', RELATION: 'has_many', VAT: 19.6 });
... und so etwas umgestalten
$scope.settings = {
username: Profile.username,
relation: 'has_many',
vat: 19.6
}
zu
$scope.settings = {
username: Profile.username,
relation: HARDCODED.RELATION,
vat: HARDCODED.VAT
}