路线防护中的Angular 2对话框可以激活

时间:2017-03-22 12:19:22

标签: javascript jquery angularjs angular

我一直试图弄清楚如何做到这一点,如果路线中有未保存的页面,我想要弹出一个对话框,询问用户是否希望保存或不完全取消数据。

我尝试使用提示并确认,但那些只让我同时拥有2个按钮,而我需要3个按钮同时显示是,否,取消。

我的问题是,虽然我可以弹出对话框但我不知道如何让Angular 2等待用户选择再继续,我已经尝试过使用Javascript和Jquery,但仍然可以& #39;弄清楚如何使角度等待用户输入,然后根据选择进行操作。

欢迎所有提示! :)

这里有一个小龙头,点击吧,然后foo然后再次禁止让弹出窗口显示,不知道如何让它在同一时间等待值,因为它现在只使用之前设置的值< / p>

    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

1 个答案:

答案 0 :(得分:0)

您可以编写自己的HTML和CSS,以获得div作为弹出窗口。关于这个问题有very good tutorial个问题。您可以随时显示/隐藏弹出窗口,您可以在那里添加自己的标签,包括按钮。然后,您可能需要一个function,它将根据用户执行的操作接收输入,并使用正确的参数将函数调用添加到按钮的onclick中。