我目前正在使用angular 5开发一款应用。
在用户离开页面之前,我会检查他们是否更改了任何表单字段并且没有提交。我有类似的东西
// lunch when closing the page o reload it
@HostListener('window:beforeunload', ['event'])
beforeUnloadHander(event) {
if(!this.accepted && this.details.length != 0){
var message = 'Sure you want to leave?';
if (typeof event == 'undefined') {
event = window.event;
}
if (event) {
event.returnValue = message;
console.log(event)
}
// console.log(event.returnValue)
return message;
}
我在面板上得到了类似的内容
现在问题,我想知道用户按下了什么。如果他按[离开]然后运行功能a,如果他按[保持]然后运行功能b。似乎无法实现这一目标......
答案 0 :(得分:-2)
创建自己的消息框并使用promise来确定用户已按下的内容。