【问题标题】:Routing in Angular JS with Multiple Slashes (1.2.x)Angular JS 中的多斜线路由 (1.2.x)
【发布时间】: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


【解决方案1】:

您遇到的问题类似于我几年前遇到的问题。 尝试将此添加到您的元数据中:

 <base href="/">

source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 2013-10-09
    相关资源
    最近更新 更多