基本上,我想检查如果history.back(),我呼吁按钮点击带我到一个外部页面,并阻止按钮在这种情况下,
history.back()
jckbn6z71#
简短的回答是,您无法获得以前的外部Web URL。请查看此历史记录API:https://developer.mozilla.org/en-US/docs/Web/API/History但是,如果外部页面的值并不重要,而只是因为它是外部页面,那么您可以欺骗它。只需在导航时保留一个路由状态。当用户从您的应用导航到应用中的其他页面时,设置一个状态,指示前一个页面是内部页面。然后,一旦用户单击您的按钮,请检查该状态并根据其值执行操作。
示例:
通过导航数据:
this.router.navigate(['/some-internal-page', { internal: true }]);
字符串读取数据:
this.isInternal = this.route.snapshot.paramMap.get('internal'));
型然后,当用户单击按钮时,按照this.isInternal值进行操作。
this.isInternal
1条答案
按热度按时间jckbn6z71#
简短的回答是,您无法获得以前的外部Web URL。请查看此历史记录API:https://developer.mozilla.org/en-US/docs/Web/API/History
但是,如果外部页面的值并不重要,而只是因为它是外部页面,那么您可以欺骗它。只需在导航时保留一个路由状态。
当用户从您的应用导航到应用中的其他页面时,设置一个状态,指示前一个页面是内部页面。然后,一旦用户单击您的按钮,请检查该状态并根据其值执行操作。
示例:
通过导航数据:
字符串
读取数据:
型
然后,当用户单击按钮时,按照
this.isInternal
值进行操作。