首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >离子路由器中的Querystring支持(使用StencilJs)

离子路由器中的Querystring支持(使用StencilJs)
EN

Stack Overflow用户
提问于 2020-06-05 19:35:25
回答 3查看 377关注 0票数 0

我有一个带有Ionic web组件的StencilJS应用程序,使用以下路由设置:

代码语言:javascript
运行
复制
<ion-router useHash={false}>
  <ion-route url="/home" component="page-home"/>
  <ion-route url="/login" component="page-login"/>
  <ion-route url="/main" component="page-main">
</ion-router>

当我收到来自api的401错误时,我希望重定向到登录页面,并将当前url作为重定向querystring参数(以便将用户重定向回原来的位置),如下所示:

代码语言:javascript
运行
复制
const navCtrl: HTMLIonRouterElement = document.querySelector("ion-router");
fetch('https://someapi.com/users/1').then(
  res => navCtrl.push('/main'),
  err => navCtrl.push(`/login?redirect=${window.location.pathname}`)
);

当我这样做时,我从应用程序接口收到一个错误,我想导航到当前路由作为查询字符串参数的登录页面,模板抛出以下错误:[ion-router] the path does not match any route

如何将querystring与ion-router一起使用?

EN

Stack Overflow用户

发布于 2020-06-06 00:32:53

IMO它目前是离子领域的一个bug (见https://github.com/ionic-team/ionic/issues/19707)。

为了暂时解决这个问题,您可能可以使用

代码语言:javascript
运行
复制
navCtrl.push('/login');
history.replaceState(undefined, '', `?redirect=${window.location.pathname}`);
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62214428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档