Open ZhangHang12135 opened 2 years ago
2. 为什么hash的路由不会触发浏览器锚点?
因为vue-router 利用history.pushState(), 添加堆栈状态。pushState是不会触发hashchange事件的。
先问是不是,再问为什么
是会触发的。
假设你 路径是 http://localhost:8042/#/info 。你在根html上加了一个id为info的元素。
当你手动输入 http://localhost:8042/#info 时,是会触发锚定效果的。并且url会变回 http://localhost:8042/#/info 。
之所以我们感觉vue没有锚定效果
1. hash 和 history的区别? 在vue3的中,用createWebHashHistory 和 createWebHistory来表示hash 和 history。 从源码上来看,createWebHashHistory就是给 base 末尾添加了'#'号,然后调用createWebHistory。 从实际效果上分析,