gpt4 book ai didi

javascript - AngularJS module.constant() : how to define a constant inside a module only?

转载 作者:数据小太阳 更新时间:2023-10-29 04:40:05 27 4
gpt4 key购买 nike

在一个页面上,我有几个 Angular 模块。我为每个模块定义了一个包含模块版本的常量。

var module1 = angular.module('module1').constant('version', '1.2.3');
var module2 = angular.module('module2').constant('version', '2.0.0');
...

我虽然在模块内部定义了一个常量。但是当我在 module1 中使用常量时,我​​得到的值是 '2.0.0'...

有没有办法定义一个适合模块的常量(或其他任何东西)?

编辑:对于替代解决方案,您能否解释一下如何使用它,例如在 Controller 声明中?

module2.controller('myCtrl', function( $scope, $http, $q, ..., version ){
// Here I can use the constant 'version'
}

最佳答案

一个很好的问题。我可以想到一个快速解决这个问题的办法:

angular.module('module1').constant('module1.version', '1.2.3');
angular.module('module2').constant('module2.version', '2.0.0');

我不知道它在多大程度上适合你的需求。但我希望它有所帮助。

主要问题是 Angular 中的命名。您不能为服务/常量/值等使用相同的名称。它们将被覆盖。我用上面展示的“ namespace ”解决了这个问题。

注入(inject) namespace 的示例:http://codepaste.net/5kzfx3

编辑:

对于您的示例,您可以这样使用它:

module2.controller('myCtrl', ['$scope', '$http', '$q', ... , 'module2.version'], function( $scope, $http, $q, ..., version ){
// Here I can use the constant 'version'
}

关于javascript - AngularJS module.constant() : how to define a constant inside a module only?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34857670/

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