用例
这里没有革命,但角度常数特别适用于你的应用程序和/或团队开始成长……或者你只是喜欢编写漂亮的代码!
-
**重构代码。**事件名称的示例。如果你在应用程序中使用了大量事件,那么每个地方都会有一些事件名称。当一个新的开发者加入你的团队时,他用不同的语法命名他的事件……你可以通过将事件的名称分组为常量来轻松防止这种情况:
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
}