"$注入器:模块rr”:模块名称的抛出错误不可用,但实际上它是可用的

"$injector:modulerr" : throwing error for module name is not available but actually it is available

本文关键字:模块 quot 实际上 错误 rr 出错 注入器      更新时间:2023-09-26

我刚刚开始学习angularjs,我尝试了以下代码:在angularmy.js 文件中

var myname = angular.module("myModule",[]);
myname.controller("myController" , function($scope){
$scope.message = "Hello lady";
}); 

在HTML:中

<!DOCTYPE HTML>
<html  >
    <head> 
        <script src = "angular.js"></script>
        <script src = "angularmy.js"></script>
    </head>
    <body ng-app = "myname"  >
        <div id="div1" ng-controller = "myController">
            {{ message }}
        </div>
    </body>
</html>

它抛出了一个错误,称未捕获错误:[$injector:moduler]由于以下原因未能实例化模块myname:错误:[$injector:nomod]模块"myname"不可用!您拼错了模块名称或忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数但是模块名称仅为"myname",那么我为什么会出现错误呢?

我认为这是一个拼写错误。它需要是

var myname = angular.module("myname",[]);

还要注意,在注入依赖项时,最好使用内联数组注释

否则,在运行带有缩小代码的应用程序时,您可能会看到同样的错误

//Note `[` brace
myname.controller("myController" ,['$scope, function($scope){ 
//Rest of code
}]);

您的ng应用程序名称应该是myModule,而不是HTML中的myname。-->ng-app="myModule"