在路由index.js
里添加路由守卫:
router.beforeEach((to,from,next)=>{
//如果是md页内链接“#xxx”,则不跳转
const hash = window.location.hash;
if(hash.startsWith('#')) {
next(false);
}
else{
...其他控制代码
next();
}
});
当markdown用[标题链接](#标题名)
实现页内链接跳转时,点击链接会改变window.location.hash
和地址,但改变地址会使页面刷新,会影响页内跳转。通过判断window.location.hash
的值,可以阻止页面刷新,同时页内就能跳转了。