在使用 IIFE 函数的角度 js 中无法访问其他控制器中的常量值

Not accessible constant value in other controller in angular js using IIFE function

本文关键字:访问 其他 常量 控制器 js IIFE 函数      更新时间:2023-09-26

以下是我的示例 angular js 代码,我已经声明了 myApp 模块,我想在两个不同的文件中编写代码,在第一个文件中,我声明了模块和一个常量文件,在另一个文件中,我声明了控制器。我想将 CLientId 的常量值访问到控制器中,但无法访问,请提供解决方案

<div ng-app="myApp" ng-controller="myCtrl as vm">
{{ vm.firstName + " " + vm.lastName + " "+ vm.getName(); }}
</div>
<script>
// i want to diclare above code into different js files
//app.js 
(function(){
angular.module("myApp", []).value('clientId', 'a12345654321x');
})();
//con.js 
(function(){
angular.module("myApp", []).controller("myCtrl", function(clientId) {
    this.firstName = "John";
    this.lastName = "Doe";
    this.getName= name;
    function name()    {
        return  clientId ; 
     }
});
})();
</script>
</body>
</html>

控制器注册不应有[]括号,因为它将覆盖已创建的模块。这样做:

(function(){
angular.module("myApp").controller("myCtrl", function(clientId) {
    this.firstName = "John";
    this.lastName = "Doe";
    this.getName= name;
    function name()    {
        return  clientId ; 
     }
});
})();

删除[],因为它重新定义了myApp模块

(function(){
angular.module("myApp").value('clientId', 'a12345654321x');
})();