在我的ui-bootstrap模態控制器中,我監視變量。它看起來是這樣的:在模式上定義的調用函數在ui-bootstrap模態關閉中
main.controller('modalCtrl', ['$scope', '$rootScope', '$modalInstance',
function ($scope, $rootScope, $modalInstance) {
var unregister = $rootScope.$watch(function() { return $rootScope.someVariable; },
function (newVal) {
if (newVal == false) {
$scope.closeModal();
}
});
$scope.closeModal = function() {
unregister();
$modalInstance.dismiss('cancel');
};
}]);
當我解僱模式我想註銷$看,當我做到這一點的NG-點擊=「closeModal()」中的HTML它工作正常。但是當我在ESC模式之外點擊模式時,它不起作用。那麼有沒有辦法在解僱時調用我的取消註冊功能。我知道modal.result.then(close(),dismiss());但如果沒有必要,我不想把這個func放到parent $ scope中。
非常感謝。我不知道$ modalInstance具有結果保證。我認爲結果承諾只在父範圍的模態變量上。 – user3506697
'$ modalInstance'是'$ modal.open'返回的內容。 – dfsq