Angular 2 RC6 - 在 URL 中设置默认参数并重定向到带有参数的路由

标签 angular angular2-routing

我做了很多研究,但我似乎没有找到确切的答案......

我的问题很简单;我有一条路线,我们称之为“父/子”,如果没有提供参数,我想在其中设置默认参数(param/child?param1=xxx¶m2=xxx 等等)。

我的 URL 中经常需要参数,因为它允许我更新页面上依赖于这些参数的一些图表。我还希望它们出现在 URL 中,而不是出现在 localeStorage/Session 或服务中,因为我的用户很容易通过复制/粘贴来共享页面。

我试过很多东西,比如:

{
        path: 'parent',
        component: Parent,
        children: [
            {
                path: 'child',
                redirectTo: 'child:param1:param2'
            },
            {
                path: 'child:param1:param2',
                component: Child
            },

但它不起作用。我考虑过我的组件之间的共享服务,以便在未提供这些参数时设置这些参数,但在那之后我想我应该做一些类似 route.navigate([myLocation], myParams) 的事情来更改带有参数的 URL。 所以这意味着每次我都需要检索我的当前位置?

如果有人可以帮助我,我有点困惑。谢谢!

编辑:我的 app.routes:

{
        path: 'parent',
        component: Parent,
        children: [
            {
                path: 'child',
                component: Child
            },
        ]
},
{
        path: '**',
        redirectTo: '/parent/child'
}

对不起,如果这是一个愚蠢的问题,那一定是语法错误...

最佳答案

只需添加如下 URL:

{
    path: 'child',
    redirectTo: 'child/a/b'
},

其中 "a"param1 的值,"b"param2

的值

关于Angular 2 RC6 - 在 URL 中设置默认参数并重定向到带有参数的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39352822/

相关文章:

javascript - 如何以 Angular 将自定义 header 添加到httpRequest

angular - 将 Electron 与 Angular 2 一起用于 Web 和桌面应用程序

angular - 直接链接到 Angular 4 中的子路由

redirect - 使用Angular2,如何在登录重定向之前重定向到以前的网址

angular 2 router.events 订阅未触发

javascript - 带有 Angular 2 : Diasplay my angular 2 component inside dialog using displayDialogAsync 的 DialogAPI

angular - "canActivate"能收到数据吗?

javascript - 在 .ts 文件中创建全局变量

angular - 制表符单元格单击 : How to call a function in angular on cell click and use component elements

Angular 2 无法绑定(bind)到 'dragula',因为它不是 'div' 的已知属性