Javascript 在循环中显示多个模态

Javascript 在循环中显示多个模态,javascript,angularjs,modal-dialog,angular-ui,promise,Javascript,Angularjs,Modal Dialog,Angular Ui,Promise,我使用的是角度UI模式() 我必须在一个循环中多次显示相同的模态 例如,我有一个团队,我需要依次为每个人显示编辑团队成员模式(基本上是一个向导) 我的问题是,它会打开所有模态,叠在一起,我想让它们一次打开一个 for (var i = 0; i < team.SizeLimit; i++) { var participant = { }; // assume this hold the correct participant var openModal = $modal.

我使用的是角度UI模式()

我必须在一个循环中多次显示相同的模态

例如,我有一个团队,我需要依次为每个人显示编辑团队成员模式(基本上是一个向导)

我的问题是,它会打开所有模态,叠在一起,我想让它们一次打开一个

for (var i = 0; i < team.SizeLimit; i++) {
    var participant = { }; // assume this hold the correct participant

    var openModal = $modal.open({
        templateUrl: '/Modals/Participant/Edit.html',
        backdrop: true,
        windowClass: 'modal',
        controller: 'ModalParticipantController',
        resolve: {
            title: function () { return 'Edit Participant'; },
            participant: function () { return participant; }
        }
    });

    openModal.result.then(function (data) {
        alert('success!');
    }); 
}
for(var i=0;i

当模态关闭时,我如何让它一次打开一个呢?

我不是angularJs用户,但不久前我也遇到了同样的问题

与在循环中创建模态不同的是,您使用模态本身创建一个循环,在关闭当前模态时检查下一个参与者。(我猜openModal.result.then()是该函数的回调函数)


这显然不是最好的解决方案,但它是一个快速有效的解决方案:-)

这看起来很有希望,我也这么想,但假期和假期似乎让我的大脑萎缩了。嗯,我只是看了你的个人资料,然后问“为什么有这样经验的人会问这个?”。你刚才给了一个合理的解释,哈哈。
var fnOpenModal = function(i) {
        if (i >= team.sizeLimit)
            return;

        var participant = team[i],
            openModal = $modal.open({
                ....
            });

        openModal.result.then(function (data) {
            alert('success!');
            fnOpenModal(i + 1);
        });
    }
fnOpenModal(0);