我希望能够在模式外部单击以将其关闭,但找不到阻止 clickOutsideToClose 事件传播的方法。到目前为止,我已经尝试过 OnRemoving,它会在模式关闭时调用,但 event.stopImmediatePropagation() 不会阻止模式关闭。
$scope.openModal = function(){
$mdDialog.show({
templateUrl: 'app/summary/example.modal.html',
parent: angular.element(document.body),
clickOutsideToClose: true,
fullScreen: true,
locals:{
step: {name: 'openingPage'}
},
controller : function($scope, step){
$scope.step = step;
},
onRemoving: function(event, removePromise){
console.log('OnRemoving called');
event.stopImmediatePropagation();
}
}).then(function(){
console.log('inside success function of show then');
}, function(){
ExampleFactory.clearAll();
});
};
我正在使用范围变量 step 在模式页面之间移动,因此我希望能够在 clickOutsideToClose 事件发生时为确认页面设置它。实际上关闭模式会发生在带有是/否按钮的确认页面上。
<md-dialog class="exampleModal">
<md-dialog-content>
<div ng-switch="step.name">
<opening-page ng-switch-when="openingPage" step="step"></opening-page>
<confirmation-page ng-switch-when="confirm" step="step"></confirmation-page>
</div>
</md-dialog-content>
</md-dialog>