vue的路由实现原理

vue 中的路由模式有两种: historyhash

hash

  • hash 模式可以 # 标识判断是否为 hash
  • hash 模式可以通过 haschange 事件监听路由的变化
1
2
3
window.addEventListener('hashchange',() => {
console.log('hash', location.hash)
})

history

  • popState 监听,事件一般与 history.pushState()history.replaceState() 这两个方法搭配使用

popState 事件只会浏览器某些行为触发,比如:浏览器后退和前进(或者在js直接调用 history.back()history.go()

作者

wuxunyu

发布于

2022-07-13

更新于

2022-08-29

许可协议