我一直在尝试找出方法,如果路由中有未保存的页面,我希望弹出一个对话框,询问用户是否希望保存或不保存数据或完全取消数据。

我尝试使用提示和确认,但是那些只让我一次拥有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/

10-12 12:34
查看更多