19 javascript angularjs angular-ui-bootstrap
在我的应用程序中,它使用$modal.open()
函数打开一个模式弹出窗口,它使用另一个页面作为模板.单击按钮时,它显示模态弹出窗口正常.如果我单击取消按钮然后它正在调用此功能并且也正常工作.
$scope.cancel=function(){
});
Run Code Online (Sandbox Code Playgroud)
但是如果用户在模态弹出窗口外单击,我们就无法通过此代码捕获该事件
$scope.dismiss=function(){
});
Run Code Online (Sandbox Code Playgroud)
我怎么抓住那个事件?
我见过AngularJS的很多文章,但找不到解决方案.
PSL*_*PSL 32
$modal.open()
返回带有promise的对象.您可以使用promise并链接它,并在catch中处理它.当您点击外面的背景时,它会在dismiss
内部执行,并拒绝承诺.
例如: -
var instance = $modal.open(...);
instance.result.then(function(){
//Get triggers when modal is closed
}, function(){
//gets triggers when modal is dismissed.
});
Run Code Online (Sandbox Code Playgroud)
如果您在$modalInstance
注射的孩子中使用它,您也可以在那里注射.所以基本上而不是处理event
这个有助于你在承诺的帮助下在更高的层次上做到这一点.
您可以使用
backdrop: 'static'
Run Code Online (Sandbox Code Playgroud)
在你的选择中.像这样:
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
backdrop: 'static',
...
});
Run Code Online (Sandbox Code Playgroud)
该引导3.0文档解释说,backdrop: 'static'
指定了不解雇点击模态的背景.
归档时间: |
|
查看次数: |
24164 次 |
最近记录: |