vue爬坑之旅---router

在vue搭建多页面应用时,那么自然而然会想到"路由",这也想起了vue官方文档对于vuex的最后描述,


也让我想起了在某次面试时,有个面试官问过这么一个问题:"请问什么时候发起ajax请求",如果重来一次的话我会回答"在你觉得需要吃饭的时候"。

那么回到碰见的问题,使用路由的时候,对于需求稍微复杂一点的web路由的嵌套是不可避免的,如图视图路由的配置


然后再是routes的配置


像这种混合使用的路由,首先在视图路由的初始化时必须给定父路由的路径,如下图


通过重定向来标明路径,为方便使用了数组来给router-link绑定的命名路由,所以如果是编程式路由时(给定的是path时)就不需要这样,这样的话使用就是"绝对路径"了。

这就是大概的项目结构,显而易见的是如果点击导航栏的菜单,那么跳过去的是wechat这个相对而言的"父路由",那么就需要在某个时机重定向一下使其跳到子路由,我选择的办法是监听$route也就是当前的路由对象。


当然这里是给f5刷新保留的路由记录,在初始化(第一次进入此路由无任何操作的情况下)是也得在wechat这个相对而言的父组件的钩子函数内(推荐created钩子)重定向一下到想要的子路由。

还有个问题就是router-link选中时的样式,官方给的active-class或者是全局的linkActiveClass(默认是模糊匹配,如果需要精准匹配的话就必须使用exact与其相对应的linkExactActiveClass),但是这里的样式只匹配于"/jk/wechat"这个路由,尽管是模糊匹配,但是貌似没能进行二次判断(具体机制查阅了资料尚未了解到,可能需要阅读源码才能了解吧0.0),那么怎么才能按照自己想要的路由路径配置相对应的样式呢,这里就用到了vue-router的另外一个属性 meta,官方解读:

    

所以可以通过给子路由绑定唯一的表示来判断当前路由是否加上样式!如图


再绑定一个自定义的样式类就ok了


今天的坑总结一下写个笔记,遇到问题得多问自己几个为什么,我可不想成为那种"内行看笑话,外行看热闹的搬运工",突然有感哈哈哈哈。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 编程式导航 1 .用在可复用的路由视图里面,比如所有的需要跳转到一个文章具体内容的路由,每一次跳转到新路由的时候,...
    skoll阅读 749评论 0 1
  • vue-router 基本使用Vue Router 官方网介绍 路由,其实就是指向的意思,当我点击页面上的home...
    雄关漫道从头越阅读 2,258评论 0 0
  • [转载自](http://www.cnblogs.com/SamWeb/p/6610733.html) 路由,其实...
    可爸阅读 1,670评论 1 0
  • 1路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的abou...
    你好陌生人丶阅读 1,812评论 0 6
  • 渲染函数和jsx 在vue中我们可以不用template来指定组件的模板,而是用render函数来创建虚拟dom结...
    6e5e50574d74阅读 790评论 0 0

友情链接更多精彩内容