Saf*_*ari 39 javascript jquery twitter-bootstrap angularjs angular-ui
有一种方法可以在调用模态窗口后调用函数(无论是通过按钮还是通过单击背景)
var dialog, options;
options = {
windowClass: "lightBox"
templateUrl: "url to the template",
controller: "some random controller",
scope: $scope
});
$("body").css({
'overflow': 'hidden'
});
dialog = $modal.open(options);
dialog.result.then(function() {
$("body").css({
'overflow': 'auto'
});
});
Run Code Online (Sandbox Code Playgroud)
我希望每当模态窗口关闭结果中的函数时,然后执行promise.现在它只是在我手动关闭模态我的$ modalInstance.close()时执行.但如果我点击背景,这个方法就不会被调用
任何想法我怎么能这样做?
Nic*_*RIC 59
我将假设您正在使用angular-ui的Modal对话框.但在进入细节之前,需要一些关于AngularJS中承诺的文档.你需要知道每则函数可以接受3个参数为这样的:
then(successCallback, errorCallback, notifyCallback)
Run Code Online (Sandbox Code Playgroud)
在angular-ui模态的情况下,单击背景将导致拒绝承诺.考虑到这一点,您的代码可以更改为:
dialog.result.then(function () {
alert('Modal success at:' + new Date());
}, function () {
alert('Modal dismissed at: ' + new Date());
});
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到一个工作的plunker
Der*_*rek 20
Angular 1.2支持承诺finally(callback)
:
dialog.result.finally(function() {
alert('clean up resources');
});
Run Code Online (Sandbox Code Playgroud)
在这里查看工作的plunker .
归档时间: |
|
查看次数: |
52384 次 |
最近记录: |