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
}


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow