【发布时间】:2015-06-27 21:08:35
【问题描述】:
我正在循环浏览 AngularJS 中的一些项目,并使用 AngularUI 模式询问用户对每个项目的输入。我的问题是循环结束并且所有模态都立即呈现,而无需等待用户。
如何让执行等到模态关闭?
我的代码示例:
var listofitems = somelist;
// loop through each item
for (var i in listofitems){
if (listofitems[i].id == presetId){
// ask user confirmation in a modal
$scope.selections = {'doThis': doThis,
'doThat': doThat}
var openModal = function () {
var modalInstance = $modal.open({
templateUrl: 'confirmationModal.html',
controller: confirmationController,
resolve: {
selections: function () {
return $scope.selections;
}
}
});
modalInstance.result.then(function (selections) {
doThis = selections.doThis;
if (selections.doThat){
doThis = selections.doThis;
}
});
}
// open the modal
openModal();
}
}
}
var confirmationController = function ($scope, $modalInstance, selections) {
$scope.selections = selections;
$scope.doThis = function () {
$scope.selections.doThis = true;
$modalInstance.close($scope.selections);
};
$scope.doThat = function () {
$scope.selections.doThat = true;
$modalInstance.close($scope.selections);
};
};
在此处合并@dsfg 答案是Plunkr example。 ui modal 不能很好地工作,但是您可以看到在用户提交任何输入之前执行已经完成。
【问题讨论】:
标签: angularjs angular-ui angular-ui-bootstrap