- 请教一下vue-router.replace的实现原理是什么?怎么就移除当前的历史记录?怎么实现将hash替换的?
vue-router , hash模式下,是通过这个方法来
如果支持pushState ,则用history.replaceState , 如果不支持,则用replace
// 来自vue-router源码: src/history/hash.js
function replaceHash(path) {
if (supportsPushState) {
replaceState(getUrl(path))
} else {
window.location.replace(getUrl(path))
}
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
跟
history.replaceState
相似,会替换当前的地址访问历史记录