Page 120 - AngularJS权威教程
P. 120
100 第 12 章 多重视图和路由
这里我们用了数组这种特殊的依赖注入语法。查看第13章获取更多关于这种语法的
内容。
现在,我们可以用when方法来添加一个特定的路由。这个方法可以接受两个参数(when(path,
route))。
下面的例子展示了如何创建一个独立的路由:
angular.module('myApp', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/home.html',
controller: 'HomeController'
});
}]);
第一个参数是路由路径,这个路径会与$location.path进行匹配,$location.path也就是
当前URL的路径。如果路径后面还有其他内容,或使用了双斜线也可以正常匹配。我们可以在
URL中存储参数,参数需要以冒号开头(例如:name),后面会讨论如何用$routeParams读取这
些参数。
第二个参数是配置对象,决定了当第一个参数中的路由能够匹配时具体做些什么。配置对象
中可以进行设置的属性包括controller、template、templateURL、resolve、redirectTo和
reloadOnSearch。
一个复杂的路由方案会包含多个路由,以及一个可以将所有意外路径进行重定向的捕获器。
angular.module('myApp', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/home.html',
controller: 'HomeController'
})
.when('/login', {
templateUrl: 'views/login.html',
controller: 'LoginController'
})
.when('/dashboard', {
templateUrl: 'views/dashboard.html',
controller: 'DashboardController',
resolve: {
user: function(SessionService) {
return SessionService.getCurrentUser();
}
}
})
.otherwise({
redirectTo: '/'
});
}]);
1. controller
controller: 'MyController'
// 或者