错误:$ injector:modulerr模块错误p0 =任务

时间:2017-07-04 13:33:25

标签: angularjs angularjs-directive angularjs-scope

我有一个简单的角度代码,由于这个错误不会运行; 我添加了服务器找到它的角度路由器文件,但它一直给我这个错误

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.6.5/$injector/modulerr?p0=task&p1=Error%3A%20…0Uc%20(http%3A%2F%2Flocalhost%3A3000%2Fangular%2Fangular.min.js%3A22%3A332)
    at angular.min.js:7
    at angular.min.js:43
    at p (angular.min.js:8)
    at g (angular.min.js:42)
    at gb (angular.min.js:46)
    at c (angular.min.js:22)
    at Uc (angular.min.js:22)
    at xe (angular.min.js:21)
    at angular.min.js:333
    at HTMLDocument.b (angular.min.js:38)

我的观看代码是

<html >
    <head>
        <title>
        </title>
    </head>
    <body ng-app="task" ng-init="first = 1;">
        <h1>Task List</h1>

        <div ng-controller="ctrl">
            <span>Values: {{first}}</span>
            <input type="text" ng-model="first" />
        </div>



        <script src="angular/angular.min.js"></script>
        <script src="bower_components/angular-route/angular-route.js"></script>
         <script src="angular/app.js"></script>
    </body>

</html>

我的app.js代码

var task = angular.module('myApp', ['ngRoute']);
task.controller('ctrl', function($scope){
    $scope.first = 1;
});

请帮忙。

3 个答案:

答案 0 :(得分:2)

认为您可能需要稍微重写该app.js代码:

task.controller('ctrl', ['$scope', function($scope) {
  $scope.first = 1;
}]);

为什么在你在模板中执行它时,首先在控制器中初始化,顺便说一下?有原因吗?

答案 1 :(得分:2)

错误消息明确指出:

  

由于以下原因导致无法实例化模块任务:   错误:... 0Uc(http://localhost:3000/angular/angular.min.js:22:332

模块名称需要与ng-app指令中使用的名称匹配:

<body ng-app="task" ng-init="first = 1;">
//var task = angular.module('myApp', ['ngRoute']);
var task = angular.module('task', ['ngRoute']);
task.controller('ctrl', function($scope){
    $scope.first = 1;
});

答案 2 :(得分:1)

你也可以这样做

var task = angular.module('myApp', ['ngRoute']);
task.controller('ctrl', taskCtrl);

function taskCtrl($scope){
 // your logic here
}

同时将你的ng-app标签移动到单独的div并在它下面放置JS脚本标签