4
angular-ui $modal
支持窗口關閉或使用modalInstance.result.then(closeFn,dismissFn)
解僱的承諾。
所以,如果我用一個模式來收集新產品信息,那麼我就可以這樣做:
modalInstance.result.then(function (item) {
new Item(item).$save(); // or similar
}, function() {
});
和HTML片段:
<button class="btn btn-primary" ng-click="$close(item)">Save</button>
<button class="btn btn-warning" ng-click="$dismiss()">Cancel</button>
但新的項目可能有衝突,或者它可能在服務器端或其他許多方面無效。有沒有什麼辦法可以在之前捕捉到這個模式本身已關閉?我想趕上「是」(或「關閉」)點擊,運行我的FN,做new Item(item).$save()
,然後:
- 如果成功,繼續關閉模式
- 如果失敗,亮點與錯誤信息
我知道我可以在按鈕上使用不同的ng-click
,並且抓住它在$modal
控制器喜歡這樣:
<button class="btn btn-primary" ng-click="save(item)">Save</button>
和代碼:
var modalInstance = $modal.open({
templateUrl: '/partials/createItem.html',
controller: function ($scope) {
$scope.save = function(item) {
new Item(item).$save().then(function(){
modalInstance.close();
});
};
}
});
但是,有沒有更多的事先捕捉關閉事件的標準方式?
謝謝。很遺憾標準行爲不能處理通常的用例。啊,那麼,對於Ang2或Web組件來說。 – deitch 2015-04-20 05:19:47