Angular 防止设备后退按钮导航到上一个路由
在我的项目中,当我想向用户显示某种信息时,我使用弹出窗口 当弹出窗口出现时,我如何控制设备后退按钮导航到上一路线,以关闭弹出窗口 代码是这样的Angular 防止设备后退按钮导航到上一个路由,angular,typescript,back-button,Angular,Typescript,Back Button,在我的项目中,当我想向用户显示某种信息时,我使用弹出窗口 当弹出窗口出现时,我如何控制设备后退按钮导航到上一路线,以关闭弹出窗口 代码是这样的 <div class="btn" (click)="showPopup()">Button to show popup</div> <div class="popup" id="popup">A popup</div> sh
<div class="btn" (click)="showPopup()">Button to show popup</div>
<div class="popup" id="popup">A popup</div>
showPopup(){
document.getElementById("popup").style.display="block"
}
onBackButtonPressed(){
//Do not navigate back to the previous route
document.getElementById("popup").style.display="none"
}
按钮显示弹出窗口
弹出窗口
showPopup(){
document.getElementById(“弹出”).style.display=“块”
}
onBackButtonPressed(){
//不要导航回上一条路线
document.getElementById(“弹出”).style.display=“无”
}
因此,当我单击按钮,弹出窗口出现时,当用户按下设备后退按钮时,我想关闭弹出窗口,而不是导航回去。诀窍是向前打开窗口。事情是这样的:
@HostListener('window:popstate', ['$event'])
onpopstate(event) {
var popup = document.getElementById("popup")
if (popup != null) {
if (window.getComputedStyle(popup).display === "block") {
popup.style.display = "none"
********
window.history.forward()
********
}
}
}
可能不是最好的答案,它有一点延迟,因为它先返回,然后再返回,但现在就可以了
任何其他答案都将非常感谢也许可以使用历史记录,比如
#showpopup
?嘿,斯利纳特!实际上我不知道你指的是什么。我对中国的历史一无所知