我使用controllerAs语法和开角UI模式对话框从它通过使用“解析”,以模态控制器变量。 打开后,我正在执行传给模态控制器的ajax“request”和“updating”变量。但是在模态控制器中,这个变化没有被反映出来。 代码片段:控制变量的变化并不能反映角模式
angular.module('main')
.controller('mainCtrl', ['$modal', function($modal){
vm = this;
vm.paymentMessage = 'We are processing you request. Wait a moment.';
vm.showModal();
testService.TestAjax().then(function(response){
vm.paymentMessage = response.data.message;
});
vm.showModal = function() {
var modalConfig = {
controller: 'ModalProcessingCtrl as modalProcessingCtrl',
templateUrl: 'template/processingModal.html',
size: 'lg',
resolve: {
paymentMessage: function() {
return vm.paymentMessage;
}
}
};
$modal.open(modalConfig).result;
};
}])
.controller('ModalProcessingCtrl', ['$modalInstance','paymentMessage', function($modalInstance, paymentMessage){
self = this;
self.paymentMessage = paymentMessage;
self.cancel = function() {
$modalInstance.dismiss('cancel');
};
}])
和tamplate是这样的:
<script type="text/ng-template" id="template/processingModal.html">
<div class="modal-header">
<button type="button" class="close" ng-click="modalProcessingCtrl.cancel()"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="id_card_processing_label">Processing</h4>
</div>
<div class="modal-body">
<div>
<p>{{ modalProcessingCtrl.paymentMessage }}</p>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" ng-click="modalProcessingCtrl.cancel()">Close</button>
</div>
</script>
我可以看到消息最初设置,而不是更新的消息后,Ajax请求调用完成。 有没有什么办法可以反映modalProcessingCtrl中mainCtrl的paymentMessage变化,并在模态对话框中显示它? 感谢
你错误地引用在angular.module(“主”)(只有一个引号) – rrd
对不起,这不是一个工作的例子,我只是清理我的代码,并删除了所有不必要的部分。这是语法错误的来源。这绝对不是我的问题的解决方案 – branko