当前位置:  开发笔记 > 编程语言 > 正文

如何在导航到下一个位置之前关闭路线弹出窗口?(Angular 2)

如何解决《如何在导航到下一个位置之前关闭路线弹出窗口?(Angular2)》经验,为你挑选了0个好方法。

我正在显示一系列您可以点击的项目,带您到下一个路线.您也可以单击此页面上的弹出窗口.如果单击弹出窗口,然后在显示下一个路径之前单击其中一个要销毁弹出窗口的项目.

onSelect(id) {
    if (this.router.url.includes('popup')) {

      let p = Promise.resolve(() => this.closePopup())
      p.then(() => this.router.navigate(['/', id]))

    } else {

      this.router.navigate(['/', id])

    }
  }

closePopup() {
    this.router.navigate([{outlets: {popup: null}}])
  }

我真的不明白promises所以我不确定我是用正确的结构编写的,但是这段代码没有用,因为它总是导航到下一个路径,弹出窗口仍然在URL中.我试图在promise之外的相同结构中执行它,但它总是会导航到:id仍然在URL中的(popup).

我也尝试过:this.router.navigate(['/', id, {outlets: {popup: null}}]).

路由器中是否有一个允许绝对重写URL的功能?或者有没有办法确保它在导航到:id之前从URL中删除弹出窗口.

希望问题很清楚 - 非常感谢帮助!

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有