用例

這裡沒有革命,但角度常數特別適用於你的應用程式和/或團隊開始成長……或者你只是喜歡編寫漂亮的程式碼!

  • **重構程式碼。**事件名稱的示例。如果你在應用程式中使用了大量事件,那麼每個地方都會有一些事件名稱。當一個新的開發者加入你的團隊時,他用不同的語法命名他的事件……你可以通過將事件的名稱分組為常量來輕鬆防止這種情況:

    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() {
          ...
        });
      })
    

…現在,你的活動名稱可以從自動完成中獲益!

  • **定義配置。**在同一位置找到所有配置:

    angular
      .module('MyApp')
      .constant('CONFIG', {
        BASE_URL: {
          APP: 'http://localhost:3000',
          API: 'http://localhost:3001'
        },
        STORAGE: 'S3',
        ...
      });
    
  • **隔離部件。**有時,有些事情你並不為此感到驕傲…比如硬編碼的價值。你可以建立角度常量,而不是讓它們在主程式碼中

    angular
      .module('MyApp')
      .constant('HARDCODED', {
        KEY: 'KEY',
        RELATION: 'has_many',
        VAT: 19.6
      });
    

……並重構類似的東西

$scope.settings = {
  username: Profile.username,
  relation: 'has_many',
  vat: 19.6
}

$scope.settings = {
  username: Profile.username,
  relation: HARDCODED.RELATION,
  vat: HARDCODED.VAT
}