26. this.$ router.push()与this.$ routrt.replace()区别
this.$ router.push() 跳转到不同的url,但这个方法会向history栈添加一个记录,点击后退会返回到上一个页面。
this.$ router.replace()同样是跳转到指定的url,但是这个方法不会向history里面添加新的记录,点击返回,会跳转到上上一个页面。上一个记录是不存在的。
27.导航钩子
1)全局导航钩子 全局前置守卫 beforeEach(to,from,next)
全局后置钩子 afterEach(to,from)
2)路由独享守卫 beforeEnter
3)组件内的导航钩子beforeRouteEnter beforeRouteUpdate beforeRouteLeave
完整的导航解析流程:
1. 触发失活组件的beforeRouteLeave —> 全局前置守卫 beforeEach —> 路由独享守卫 beforeEnter—>组件内守卫-进入 beforeRouteEnter —> 全局解析守卫 beforeResolve ----> 全局后置守卫afterEach
2 组件更新
全局前置守卫 beforeEach —>组件内守卫-更新 beforeRouteUpdate —> 全局解析守卫 beforeResolve ----> 全局后置守卫afterEach
28.页面初始化闪动问题
display:none