router-link和router.push实现跳转的原理

router-link和router.push实现跳转的原理

总体区别:router-link标签实现,router.push通过JS实现
router-link

<router-link :to="...">会在页面渲染的时候就加载对应的路由比起直接写的方式的优点:不管是h5的history还是hash模式,切换的时候很方便;会默认阻止浏览器的默认事件;写路径的时候不用写基路径了。

①默认会渲染为 a 标签(). 可以通过 tag 属性修改为其他标签
②自动为 a 标签添加 click 事件. 然后执行
$router.push() 实现跳转

$router.push

$router.push("/myroute")跳转到对应的路径,可在页面中写对应的点击事件,然后执行对应的方法中写跳转,可在跳转前再写一些别的逻辑。
根据路由配置的 mode 确定使用 HTML5History 还是 HashHistory 实现跳转

HTML5History : 调用 window.history.pushState() 跳转
HashHistory : 调用HashHistory.push() 跳转

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值