-1
我希望$ mdDialog的行爲與在$ locationchangestart中調用時的confirm()類似。 在恢復位置更改之前,$ mdDialog不會等待用戶輸入。
$rootScope.showConfirm = function (ev) {
// Appending dialog to document.body to cover sidenav in docs app
var confirm = $mdDialog.confirm()
.title('Tem certeza que deseja sair?')
.textContent('Informações não salvas serão perdidas"')
.targetEvent(ev)
.ok('Sim')
.cancel('Não');
$mdDialog.show(confirm).then(function() {
$rootScope.status = true;
}, function() {
$rootScope.status = false;
});
};
$rootScope.$on("$locationChangeStart", function (event, next, current) {
$rootScope.showConfirm(event);
if($rootScope.status == false){
event.preventDefault();
}
});
不起作用。 $ mdDialog永遠不會停止發生位置更改。 – Vinicius
只是一個建議:你可以打電話給$ rootScope.showConfirm,在你想改變路線的地方點擊按鈕/鏈接來顯示Modal。在$ rootScope.showConfirm裏面單擊確定執行$ location.path()的東西。這樣你就不必擔心這個問題。 –