【发布时间】:2014-08-10 03:57:11
【问题描述】:
我已将 ngRoute 注入到我的 Angular 应用程序中,并且当路径只有一层深度时,路由可以工作,即。只有一个斜杠。
在 app.js 中:
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'login.html',
controller: 'LoginCtrl'
})
.when('/guestlist', {
templateUrl: 'guestlist.html',
controller: 'guestListCtrl'
})
.when('/event/apply', {
templateUrl: 'apply-to-event.html',
controller: 'EventCtrl'
})
.when('/event/confirmation', {
templateUrl: 'apply-to-event-confirmation.html',
controller: 'EventCtrl'
})
.when('/event', {
templateUrl: 'event.html',
controller: 'EventCtrl'
})
.otherwise({ redirectTo: '/' });
}]);
不通的路线是/event/apply和/event/confirmation,他们直接去/。但是,例如,/event 和 /guestlist 确实有效。
任何想法将不胜感激,
【问题讨论】:
-
你能做一个plnkr吗?看来这应该可行。
-
您确定您的控制器名称正确且您的 html 文件存在于给定路径中吗?
-
看起来您的“应用”和“确认”路由使用与您的主要“事件”路由相同的控制器......这可能是问题吗?
-
Josh Taylor,事实上,我只是尝试为他们分配不同的控制器并且它可以工作。你知道为什么不能在 Angular 中的路由之间共享控制器吗?我要去谷歌了。
-
您可以共享控制器。也许在重定向到 root 的 EventCtrl 中发生了一些事情。
标签: javascript angularjs url-routing angular-routing