【问题标题】:Hide query params from the url从 url 隐藏查询参数
【发布时间】:2021-02-10 14:51:30
【问题描述】:

我从一个组件导航到另一个组件并传递一些参数。我也想传递查询参数,但我不希望它出现在 url 中。我尝试使用skiplocationchange,但是它可以工作,但是当我们从父级导航到子级时,url 没有改变。所以我不想使用skiplocationchange。

this._router.navigate(['/detailReports',id],{queryParams:{reportName : name},queryParamsHandling:"merge"});

所以这里的 reportName 我只是希望它在路由器中,以便我以后可以得到这个道具。但我不希望它显示在 url 中。

【问题讨论】:

  • AFAIK 没有办法混淆参数。但是您可以使用单例服务来共享变量。它不会显示在 URL 中。
  • @MichaelD 所以基本上我想将一些数据传递给路由器组件。那么除了服务还有其他方法吗?我用谷歌搜索,发现我们可以使用 [state]="{ orderId: 1234 }" 但我不确定这是否是正确的做法。

标签: angular typescript angular8


【解决方案1】:

你可以喜欢这个:

来自页面:

this.router.navigate(['/detailReports],{state:params})

到页面:

constructor(){ let params = this.router.getCurrentNavigation().extras["state"] ? this.router.getCurrentNavigation().extras["state"] : "" } `

【讨论】:

    猜你喜欢
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多