使用ng-route时控制器注册错误

时间:2017-06-08 15:54:50

标签: angular

我正在使用v1.6.4创建一个角度应用程序。我正在使用ngRoute并且现在已经定义了一个单独的路由条件。我为角度模块初始化创建了一个app.js文件,并为其他应用程序js文件创建了一个单独的文件夹。

app.js:

"use strict";

var appOtmReport = angular.module("appReport", ['ngRoute']);

appOtmReport.config(['$routeProvider',function($routeProvider) {

    $routeProvider.when('/home',{
        templateUrl: 'views/reportSample.html',
        controller: 'js/reportSampleController'
    })
    .otherwise({redirectTo:'/home'});
}]);

的index.html:

<!DOCTYPE html>
<html lang="en"  id="ng-app">
<head>
<meta charset="ISO-8859-1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">

<title>OTM-DCPP Query Report</title>

<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-theme.min.css">

</head>
<body>

<div  ng-app="appReport">
    <ng-view></ng-view>
</div>

<!-- JQuery stuff -->
<script src="lib/jquery.min.js"></script>
<script src="lib/highcharts.js"></script>

<!-- AngularJS framework stuff -->

<script src="lib/bootstrap.min.js"></script>
<script src="lib/angular.min.js"></script>
<script src="lib/angular-route.min.js"></script>

<!-- application specific js -->
<script src="app.js"></script>
<script src="js/reportSampleController.js"></script>


</body>
</html>

控制器(不同目录中的单独文件):

appOtmReport.controller('reportSampleController',function ($scope){
    $scope.name = "Vikash";
});

当我运行时,我收到以下错误: [$ controller:ctrlreg] http://errors.angularjs.org/1.6.4/ $ controller / ctrlreg?p0 = js%2FreportSampleController(...)

因此,我没有得到已解决的表达式,但是:您的姓名是:{{name}}

我已经浏览过类似的其他链接,但没有一个能帮助我。我会感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我在这里发现了这个问题。我的app.js和控制器文件位于不同的文件夹中,因此模块在控制器内部无法访问。一旦我将app.js文件移动到与控制器相同的目录,它就可以工作。

更改了我的index.html:

<!-- application specific js -->
<script src="**js/app.js**"></script>
<script src="js/reportSampleController.js"></script>

更改了app.js:

“use strict”;

var appOtmReport = angular.module(“appOtmDcppQueryReport”,['ngRoute']);

appOtmReport.config(['$routeProvider',function($routeProvider) {

    $routeProvider.when('/home',{
        templateUrl: 'views/reportSample.html',
        **controller: 'reportSampleController'**
    })
    .otherwise({redirectTo:'/home'});
}]);