AngularJS: 将可选语言参数添加到URL中

6

我正在使用AngularJS和UI-Router技术。 我想配置路由,以指定所选语言的部分,但这一路由部分应该是可选的。

我有以下状态:

{
    state: 'app',
    config: {
          abstract: true,
          url: '/{lang:(?:de|en)}',
          template: '<ui-view/>'
    }
}

{
    state: 'app.mainview',
    config: {
          url: '/mainview',
          templateUrl: 'app/mainview/mainview.html',
          controller: 'MainviewController',
          controllerAs: 'vm',
          title: 'Main View',
          settings: {
              pos: 1,
              displayName: 'Mainview',
              icon: 'code-array'
          }
    }
}

现在只有使用以下方法才能导航到主视图:

example.com/en/mainview

我希望你能帮我配置ui-router,使得以下所有路由都有效:

example.com/mainview
example.com/en/mainview
example.com/de/mainview

我能否在路由的开头设置一个可选的语言参数而不使用双斜杠?如果不能,你有什么替代方案建议吗?

1个回答

5

我如何在不重新加载的情况下更改任何状态中的语言,例如从/en/hello更改为/de/hello? - Mahmoud Elgohary

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接