[英]$uibModal: get instance from method
我正在通過方法使用模態,例如:
this.showModal = function () {
return $uibModal.open({...});
}
然后以某種方法調用此函數:
this.showModal().result.then(function (someResult) {...});
但是如何使用方法調用使用解雇?
因為我沒有方法使用它,所以我可以關閉模態,所以:
$uibModal.open({...}).result.then(function (someResult) {
this.$dismiss();
})
但是當我使用方法promise時,我不知道如何使用解雇...
也許有人有主意?
您可以將模式存儲在范圍內的對象中,也可以將其移動到服務中,然后在模式對象上調用dismiss
var modalInstance;
this.showModal = function () {
modalInstance = $uibModal.open({...});
return modalInstance;
}
當使用諾言時
this.showModal().result.then(function (someResult) {
modalInstance.dismiss('cancel');
});
我通常所做的是制作一個模式實例:
$scope.doSomething = function(){
var modalOptions = {...};
openModal(modalOptions);
}
function openModal(modalOptions) {
$scope.myModalInstance = $uibModal.open(modalOptions);
$scope.myModalInstance.result.then(function () {
//success callback
}, function () {
//error callback;
});
}
以后如果我想調用close或dismiss,只需調用$scope.myModalInstance.close()
和$scope.myModalInstance.dismiss('cancel')
。
open方法使用open, closed,dismiss ,close,rendered ,returned
方法返回模態實例。
您的情況是this.showModal
是模態實例。
因此,您可以像這樣調用close方法。
var self = this;
self.showModal = function () {
return $uibModal.open({...});
}
//close the modal
self.showModal.close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.