AngularJS可选的路由参数在开头

时间:2015-05-12 19:40:17

标签: angularjs angular-routing

我正在尝试使用可选的路由参数配置我的AngularJS应用程序。

我需要支持的网址可能在开头有一个区域设置。 e.g。

  • / FR-FR /欢迎
  • /欢迎

我尝试了以下

$routeProvider.when('/:locale?/Welcome', {
...
})

然而,似乎它满足“/ fr-FR / Welcome”案例,而不是“/ Welcome”案例。

是不是因为我总是在开头加上一个“/”。

以下是否有效?

$routeProvider.when('/:locale/?Welcome', {
...
})

2 个答案:

答案 0 :(得分:0)

https://docs.angularjs.org/api/ngRoute/service/ $路线#示例

.config(function($routeProvider, $locationProvider) {
      $routeProvider
       .when('/Book/:bookId', {
        templateUrl: 'book.html',
        controller: 'BookController',
        resolve: { 
        }
      })
      .when('/Book/:bookId/ch/:chapterId', {
        templateUrl: 'chapter.html',
        controller: 'ChapterController'
      });

此外,您可以使用本教程中的多语言支持

https://scotch.io/tutorials/internationalization-of-angularjs-applications

答案 1 :(得分:0)

在Angular中是不可能的。 记住/:locale不是可选的。它是路由参数,这意味着它的值可能不同,但它应该在那里执行该路由(控制器和模板)。

/ FR /欢迎

/ EN /欢迎

fr en 必须在那里帮助角度选择该路线。