我一直在尝试找出方法,如果路由中有未保存的页面,我希望弹出一个对话框,询问用户是否希望保存或不保存数据或完全取消数据。
我尝试使用提示和确认,但是那些只让我一次拥有2个按钮,而我需要3个按钮来同时显示“是”,“否”,“取消”。
我的问题是,虽然我可以弹出对话框,但我不知道如何使Angular 2在继续进行操作之前先等待用户选择,但我已经使用Javascript和Jquery进行了尝试,但仍然不知道如何制作角度等待用户输入,然后对选择进行操作。
欢迎所有提示! :)
在这里放一点点,单击以显示bar,然后是foo,然后再次bar以显示弹出窗口,不知道如何使其等待当前值的同时,现在它只是使用先前设置的值
if (target.hasBeenChanged == true) {
target.popuptest();
// using the last one set in component for now
let selection = target.popupchoice;
console.log('selected was: ' + selection);
if (selection == 'yes') {
target.PushToSave();
return true;
} else if (selection == 'no') {
return true;
} else {
return false;
}
} else {
return true;
}
https://plnkr.co/edit/so7KeiaMiqbSy7Nr5nSB?p=info
最佳答案
您可以编写自己的HTML和CSS来具有div
,该function
将用作弹出窗口。关于此的very good tutorial。您可以随时显示/隐藏弹出窗口,并且可以在其中添加自己的标签,包括按钮。然后,您可能希望会根据用户执行的操作接收输入,并将带有正确参数的函数调用添加到按钮的onclick上。
关于javascript - 可以禁用Route Guard中的Angular 2对话框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42951464/