-
-
Notifications
You must be signed in to change notification settings - Fork 5k
Closed
Description
Example: http://run.plnkr.co/O8drrKqdru329Cf4/#/a
Source: http://plnkr.co/edit/fjHGwqUnUTzq2eDpKVTa?p=preview
Standalone source in case plunker is down: http://pastebin.com/bN2vMGY4
Steps in the above example:
- Click "Go to B"
- Click "OK" in the prompt
- Press back button in the browser
- Press forward button in the browser
- Click "Cancel" in the prompt
Result:
- Component A is correctly shown in the router outlet
- Page hash is incorrect, still shows
#/b
In the previous version of vue-router, using abort()
would revert the hash back to the correct path.
On a site note, how do we handle the removal of abort()
? redirect()
needs you to know the previous path, where as abort()
automatically reverted back to the previous path.
Activity
fnlctrl commentedon Sep 28, 2016
Hi, thanks for filling this issue.
Abort
is no longer needed since you can just do nothing inside guard hooks to abort the navigation.http://plnkr.co/edit/NuiJlxJV4IkhnXOwfgqr
Please read more about navigation guards here:
http://router.vuejs.org/en/advanced/navigation-guards.html
fergaldoyle commentedon Sep 28, 2016
While navigation is cancelled (i.e. the correct component is displayed in the router outlet), the hash change is not canceled. Previously
abort()
restored the correct hash / path.If hash is changed outside of using
<router-link />
, i.e. browser forward / back or using<a href="#/b" />
#/b
for example)beforeEach
firesredirect
ornext
not called#/b
fnlctrl commentedon Sep 28, 2016
I see.. It may indeed be a bug. @yyx990803
yyx990803 commentedon Sep 28, 2016
See https://github.com/vuejs/vue-router/releases/tag/v2.0.0-rc.6