- 请教一下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.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
5 回答838 阅读
3 回答1.7k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
跟
history.replaceState
相似,会替换当前的地址访问历史记录