首页 文章

Angular 2中着陆页上的动态反向链接

提问于
浏览
0

我有一个在Angular 2中构建的项目页面,它是从项目列表页面链接的 . 我正在尝试添加一个“后退”链接,该链接将用户带回到项目列表页面,使用路径参数恢复以前的URL . 使用Location.back()可以正常工作 . 但是,如果用户通过深层链接登录项目页面,则Location对象中没有历史记录,因此Location.back()不起作用 . 我尝试了以下操作,因此如果back()函数不起作用,应用程序会触发navigate()函数,但一旦应用程序导航回项目页面,它就会抛出错误:

clickGoToItemsPage() {
    this._location.back();
    this._router.navigate(['ItemsPage']);
}

我得到的错误是:

EXCEPTION: Error: Uncaught (in promise): TypeError: Cannot read property 'constructor' of undefined

触发第二个函数并且页面位于ItemsPage后发生错误 . 这有什么方法吗?

1 回答

  • 0

    不确定我理解你的问题 . 您可以从 this._location.back() 捕获错误,然后再调用 this._router.navigate(...) . 如果 this._location.back() 成功,则不执行 this._router.navigate(...) . 这是你想要的吗?

    clickGoToItemsPage() {
        try {
          this._location.back();
        } catch() {
          this._router.navigate(['ItemsPage']);
        }
    }
    

相关问题