我有单选按钮来回答测验中的项目。如果选择单选按钮,则用户然后使用输入键选择下一个按钮以打开模态,允许出现继续模式以评估是否已选择无线电。在用户选择无线电答案并且命中返回布尔值ngApp.Review.Quiz.items[ngApp.currentQuizItem.index].complete;
之后的问题在解析属性内部时保持为假,即使它是真的。无论如何将此布尔值传递给ProceedCtrl函数,以便可以在resolve属性中正确评估它?我无法使用$timeout
。
//Proceed Modal
var ModalProceedCtrl = function ($scope, $modalInstance, answered) {
$scope.answered = answered;
$scope.proceedOk = function () {
$modalInstance.close();
};
$scope.proceedCancel = function () {
$modalInstance.dismiss();
};
};
var ProceedCtrl = function ($scope, $modal) {
$scope.open = function () {
var modalInstance = $modal.open({
templateUrl: 'proceedModal',
controller: ModalProceedCtrl,
backdrop: 'static',
resolve: {
answered: function() {
return ngApp.Review.Quiz.items[ngApp.currentQuizItem.index].complete;
}
}
});
modalInstance.result.then(function () {
$scope.doProceed();
return false;
}, function () {
return false;
});
};
};
答案 0 :(得分:0)
您可以将其作为控制器范围的一部分传递,如下所示:
$scope.open = function () {
var modalInstance = $modal.open({
templateUrl: 'proceedModal',
controller: ModalProceedCtrl,
backdrop: 'static',
scope: angular.extend($rootScope.$new(false), {
answered: ngApp.Review.Quiz.items[ngApp.currentQuizItem.index].complete;
}
}