gpt4 book ai didi

javascript - Angular 常量与 javascript 常量

转载 作者:行者123 更新时间:2023-11-30 00:14:14 24 4
gpt4 key购买 nike

假设我有一个全局常量需要在每个 Angular 模块中访问,声明该常量的建议方法是什么。我想到了三种方法,但不确定要使用哪种。

感谢是否有人可以指出在这种情况下使用方法 2 与方法 1 相比有什么好处。

方法一(纯js常量):

var jsConstant = {
constant1: 'constant1',
constant2: 'constant2'
};

angular.module('mainApp').controller(['$scope', function($scope) {
$scope.constant1 = jsConstant.constant1;
$scope.constant2 = jsConstant.constant2;
}]);

方法 2(纯 Angular 常数)

angular.module('mainApp').constant('angularConstant', {
'constant1': 'constant1',
'constant2': 'constant2'
});


angular.module('mainApp').controller(['myConstant', '$scope', function(myConstant, $scope) {
$scope.constant1 = angularConstant.constant1;
$scope.constant2 = angularConstant.constant2;
}]);

方法三(js和 Angular 常数的混合)

var jsConstant = {
constant1: 'constant1',
constant2: 'constant2'
};

angular.module('mainApp').constant('angularConstant", {
'constant1': jsConstant.constant1;
'constant2': jsConstant.constant2;
});


angular.module('mainApp').controller(['myConstant', '$scope', function(myConstant, $scope) {
$scope.constant1 = angularConstant.constant1;
$scope.constant2 = angularConstant.constant2;
}]);

最佳答案

建议的方法是使用constant:

(function(angular, undefined) {
'use strict';

angular.module('myApp.constants', [])

.constant('appConfig', {userRoles:['guest','user','admin']});

})(angular);

更好的方法是在服务器的每个构建中注入(inject)这些值,因为大多数时候您希望在服务器上定义这些值而忘记在其他地方管理它们。为此,请查看 gruntgulp

ng-constant 模块

编辑方法 3 只是方法 2 的一个困惑版本,在 Angular 模块之外不必要地声明了 JS 变量

方法 1 不好,因为那些常量并不是真正可重用的。如果您有另一个想要重用这些值的 Controller ?

关于javascript - Angular 常量与 javascript 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35335003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com