【问题标题】:Pass array as route parameters传递数组作为路由参数
【发布时间】:2018-06-25 23:12:06
【问题描述】:

使用 Angular,我创建了一个用户可以选择人员的表格。当一个人被选中时,他们会被添加到一个名为selectedUsers 的数组中。当用户单击“选择”按钮时,他们应该从 ProfileComponent 转到 PrintComponent。

我的 routerlink 设置为:

routerLink="['/print/', selectedUsers]"

单击“选择”按钮时,出现以下错误:

Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: '%5B'/print/',%20selectedUsers%5D'

如何正确地将selectedUsers 数组作为路由参数传递?

我创建了一个StackBlitz for this issue

【问题讨论】:

    标签: angular


    【解决方案1】:

    你的 stackblitz POC 正在做 routerLink="['/print/', {users:[selectedUsers}]" 这不符合 routerLink 的预期。

    如果您检查this documentation,您会看到routerLink 需要一个路由数组或一个数组中传递的单个路由元素。

    查看my stackblitz POC,我在其中更新了profiles component html,并将选定的用户ID作为逗号分隔的字符串传递给路由。

    【讨论】:

    • 您是否在寻找team/11/user/bob;details=true. 这种路由结构?我给出的解决方案有效,但老实说,它解释了一个不同的方面!
    • 我正在寻找类似print/111,113,114 的东西,这让我非常接近。
    • 好的!这个解决方案确实解决了问题! :)
    猜你喜欢
    • 2019-10-22
    • 2016-01-22
    • 1970-01-01
    • 2020-02-06
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多