路由简单属性篇

vue中的路由有2种模式,一个是hash模式还一个就是history模式;这2种区别其实很简单,单看样子,哈希模式就是url上带有#,history就不带了,前端路由一般默认是哈希模式。哈希模式也叫前端路由,为什么这么说呢。因为这个路由的变化我们是可以监听到的(windows.onhashchange事件),具体去找一下度娘;所以我们前端可以手动控制路由,自己配置路由。而history模式就需要服务端要配置一份路由了,不然单从前端跳转路由,匹配不上的话就会404了。
现在我们说一下各自的优缺点,哈希模式对于我们前端来说较为方便,不需要服务端配合,同时我们跳转其他的路由时,只是改变我们的url,这样页面就不会重新加载。这里提一句,我们的vue时单页面的,只有一个html页面,这样就能更加节约性能,其缺点也是很明显,就是首次加载过慢,同时不利于seo优化。history模式就是比较依赖服务端,所以就比较消耗资源,跳转时就需要刷新了。
说一下我们路由中经常会用到的一些属性,比如activeMenu,这个在后台管理系统的时候用到比较多,当你跳转详情页时,又要你当前的路由选中,这时就可以用上这个属性,后面跟着你需要高亮的菜单路由名称。
还有就是keepAlive这个属性,这个就是为了缓存之前的数据,切换时保持之前加载的状态,避免反复渲染影响页面性能。同时为了这个属性也出了2个钩子函数配合着使用,activated和deactivated;activated 当 keep-alive 包含的组件再次渲染的时候触发,deactivated 当 keep-alive 包含的组件销毁的时候触发。
之前就碰到过一个问题,就是一个路由下面又有一个子路由,然后就像上面一样,建一个children和其他的路由一样,但是发现你的页面路由跳转一直会有问题。问了同事之后才明白,如果在同一个页面下面的子路由需要一个新页面写一个route-view 进行跳转页面,否则无法展示其他子路由页面;或者直接创建路由时,都是同一级的路由。当时还一直以为自己的路由名字有问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值