[英]AngularJS routeprovider is not called
I've googled a lot of info about routing in AngularJS and have seen questions at stackoverflow, for example, this 1 , this 2 , this 3 , this 4 . 我已经搜索了很多有关AngularJS中路由的信息,并在stackoverflow上看到了问题,例如this 1 , this 2 , this 3 , this 4 。 However, there is no result. 但是,没有结果。
I've included AngularJS 1.5.8.js
and angular-route.js
. 我已经包括AngularJS 1.5.8.js
和angular-route.js
。
HTML: HTML:
<!doctype html>
<html ng-app="employeesApp">
<head>
<title>Injecting view</title>
</head>
<body >
<p>Hey! View should be injected between these statements</p>
<div ng-view></div>
<p>Hey! View should be injected between these statements</p>
<script src="scripts/angular.js"></script>
<script src="scripts/angular-route.js"></script>
<script src="app/app.js"></script>
<script src="app/controllers/employeesController.js"> </script>
</body>
</html>
Employees.html: Employees.html:
<h2>Employees</h2>
<article>This is employee view!:)</article
employeesController.js: employeesController.js:
(function()
{
var employeesController=function($scope, foo, bar) {//THIS CODE SNIPPET IS NOT CALLED
alert('a1');
debugger;
$scope.sortBy='name';
$scope.reverse=false;
$scope.employees= [
{joined:'2010-12-02', name:'Jon', city:'Reading', orderTotal:49.9956},
{joined:'1995-01-25', name:'Ben', city:'Las Vegas', orderTotal:519.99},
{joined:'1994-06-15', name:'Joseph', city:'New York', orderTotal:344.99},
{joined:'1998-03-18', name:'Adam', city:'Seattle', orderTotal:1021.5}
];
$scope.doSort=function(propName){
$scope.sortBy = propName;
$scope.reverse=!$scope.reverse;
};
};
employeesController.$inject=['$scope'];
angular.module('employeesApp',[]).controller('employeesController',
employeesController);
}());
app.js: app.js:
(function() {
debugger; //this code snippet works
var app=angular.module('employeesApp',['ngRoute']); //this code snippet works
app.config(function($routeProvider){ //THIS CODE SNIPPET IS NOT CALLED
alert('in');
debugger;
$routeProvider
.when('/', {
templateUrl: 'app/views/employees.html',
controller: 'employeesController'
})
.otherwise( { redirectTo: '/' });
});
}());
I double checked all directives and code, however employee.html
is not injected. 我仔细检查了所有指令和代码,但是没有注入employee.html
。
Does anybody know what I am doing wrong? 有人知道我在做什么错吗? I am using AngularJS 1.5.8.js
. 我正在使用AngularJS 1.5.8.js
The only problem i see is you are redefining employeesApp in your controller 我看到的唯一问题是您正在重新定义控制器中的employeeApp
angular.module('employeesApp', []).controller('employeesController', employeesController);
Omit the [] part 省略[]部分
angular.module('employeesApp').controller('employeesController', employeesController);
You only define your modules once. 您只定义模块一次。 Using angular.module('modulename', arrayofdependencies or empty array)
使用angular.module('modulename', arrayofdependencies or empty array)
Everywhere else you just get the module and add parts, ie Controllers, directives etc, using getter syntax. 您只需使用getter语法在其他任何地方获取模块并添加部件,即控制器,指令等。 Do not use array here. 不要在这里使用数组。 angular.module('modulename').controller
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.