用例
這裡沒有革命,但角度常數特別適用於你的應用程式和/或團隊開始成長……或者你只是喜歡編寫漂亮的程式碼!
-
**重構程式碼。**事件名稱的示例。如果你在應用程式中使用了大量事件,那麼每個地方都會有一些事件名稱。當一個新的開發者加入你的團隊時,他用不同的語法命名他的事件……你可以通過將事件的名稱分組為常量來輕鬆防止這種情況:
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
}