找不到路径控制器

时间:2016-03-11 13:07:57

标签: javascript angularjs

当我输入/#/ addOrder作为URL时,它应加载模板文件。是的,我没有收到一些错误,索引页面加载了两次。

t.html

{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
    <title>asdad</title>
</head>
<body>
<div ng-app = "mainApp">
<a href="#/addOrder">add</a>
   <div ng-view></div>

</div>    
</body>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-route.min.js"></script>
<script src="{% static 'js/script.js' %}" type="text/javascript"></script>
</html>

tem.html

<h1>tem is loaded!</h1>

script.js

var mainApp = angular.module("mainApp", ['ngRoute']);
mainApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.

when('/addOrder', {
    templateUrl: 'tem.html', controller: 'activeOrderController'
}).

when('/viewStudents', {
    templateUrl: 'order/addOrders.html', controller: 'addOrderController'
}).
when('/viewStudents', {
    templateUrl: 'order/endedOrders.html', controller: 'endedOrderController'
}).

otherwise({
    redirectTo: '/t.html'
});

}]);
  

错误:ng:areq Bad Argument

     

参数'activeOrderController'不是aNaNunction,未定义   描述   AngularJS经常断言使用辅助函数会出现某些值并使其失效。如果断言失败,则抛出此错误。要解决此问题,请确保断言所期望的值已定义且真实。

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试删除ng-app和“=”之间的空格。 NG-应用= “mainApp”

另外,创建两个在路由配置中引用的控制器。

答案 1 :(得分:0)

您错误的重定向声明&amp;你有两条路由具有相同的语句/viewStudents名称。

otherwise({
    redirectTo: '/viewStudents'
});

此外,您还必须定义每条路线上提到的所有控制器

mainApp.controller('activeOrderController', function(){
  //console.log('I am activeOrderController')
})
mainApp.controller('addOrderController', function(){
  //console.log('I am addOrderController')
})
mainApp.controller('endedOrderController', function(){
  //console.log('I am endedOrderController')
})
相关问题