2016-11-23 17 views
1

,如果我嘗試導航到由canDeactivate後衛,其沒有發生取消的路線。他們是否有解決這個問題的方法?導航到由canDeactivate後衛取消了同樣的路線失敗

我有一個表單的組件,如果他們有任何未保存的更改,並且如果我們嘗試導航離開,我們在canDeactivate後衛中顯示引導程序確認彈出窗口。如果我們選擇OK,那麼我們再次導航到相同的路線,這不會發生。他們是否有解決這個問題的方法?

回答

1

就花了3小時試圖弄清楚這一點爲自己。 這是一個使用@ angular/router版本3.2的bug。

我通過降級到版本3.1和重新安裝包固定它。

希望這會有所幫助。

0

我不知道你是怎麼想的,但結帳這樣的:

canDeactivate() { 
    return dialogService.confirm('Discard unsaved changes?'); 
} 

這應該爲你工作。看看這個Doc

+0

Avnesh,我看着你給的文檔。我正在發送這個文件本身看到的plunker鏈接。將system.config.js中的angular&router版本更改爲'var angularVersion ='2.2.1'; var rcVersion ='3.2.1';'嘗試一下。同樣的問題正在發生。 http://plnkr.co/edit/w1NCkGs0Tv5TjivYMdvt?p=preview –