vue-cli 默认路由再子路由选中下的选中状态问题及解决代码


Posted in Javascript onSeptember 06, 2018

vue-cli是Vue.js官方脚手架命令行工具,我们可以用它快速搭建Vue.js项目,vue-cli最主要的功能就是初始化项目,既可以使用官方模板,也可以使用自定义模板生成项目,而且从2.8.0版本开始,vue-cli新增了build命令,能让你零配置启动一个Vue.js应用。

因项目需求,需要在默认路由下面的两个子路由进行切换,当开始以为不就是路由切换?so easy!就看一下遇到的问题吧!

{path: '/',component: resolve => require(['@/components/LiveList'],resolve),
  children:[
  {
  path:'',
  name:'livelist',
  meta:{title:'',index:0},
  component: resolve => require(['@/components/compts/livelistcom'],resolve)
  },{
  path:'livenew',
  name:'livenew',
  meta:{title:'',index:1},
  component: resolve => require(['@/components/compts/livelistnew'],resolve)
  }]
 },
{
 path:'/user',
 name:'user',
 meta:{title:'用户',index:4},
 component: resolve => require(['@/components/user'],resolve)
},

这路由一看没问题吧!

<router-link to="/"><p>首页</p></router-link>//这是底部的切换路由
//下面两个便是首页下面的两个子路由的跳转了
<li><router-link to="/">热门</router-link></li>
<li><router-link to="/livenew">最新</router-link></li>

看到上面的代码是不是没有发现错误?其实也的确可以运行!而且两个子路由切换关于首页的状态也是没有问题的!

但是当我切换user路由的时候发现,首页路由的状态依旧是选中状态 ,这个让我很纳闷,按理说user路由跟首页的路由是同级,不出出现这样的问题。既然出现了,为了工作,只能迎难而上,去解决这个问题。

在经过我仔细的查找文档,终于想到了一种解决方案:在官方文档里面有一个 redirect (重定向) router.vuejs.org/zh/guide/es… 点击链接可以查看官方文档

既然可以重定向那我就试一下这种来解决(毕竟上面的代码和逻辑事再想不出是什么地方出的错误,还望大神指点一二!!!)

废话不多说,直接先解决后的代码:

{path:'',redirect: '/index'},
 {path: '/index',component: resolve => require(['@/components/LiveList'],resolve),
  children:[
  {path:'',redirect:'livelist'},
  {
  path:'livelist',
  name:'livelist',
  meta:{title:'',index:0},
  component: resolve => require(['@/components/compts/livelistcom'],resolve)
  },{
  path:'livenew',
  name:'livenew',
  meta:{title:'',index:1},
  component: resolve => require(['@/components/compts/livelistnew'],resolve)
  }]
 },
 {
  path:'/user',
  name:'user',
  meta:{title:'用户',index:4},
  component: resolve => require(['@/components/user'],resolve)
 }

而关于路由的跳转也有一些小变化:

<router-link to="/index"><p>首页</p></router-link>//这里依旧是底部导航
//这里便是首页的两个子路由的跳转按钮了
<li><router-link to="/index/livelist">热门</router-link></li>
<li><router-link to="/index/livenew">最新</router-link></li>

构思 :用重定向,规定默认路由跳转到上面  /index 下面默认的子路由,再由默认的子路由去定向到子路由的  livelist 。(这是在解决问题的时候发现,非默认路由下,子路由切换不会造成默认路由选中不取消的问题,而默认路由一直会存在一个 router-link-active的类名,我的选中样式也是基于它的 )

关于选中时自定义自己的样式可以操作.router-link-active 这个类,而默认路由一直存在这个类,如果没有子路由,或者子路由选中不需要显示父路由也为选中状态的情况下,你可以操作.router-link-exact-active这个类来写自己的选中样式。

总结

以上所述是小编给大家介绍的vue-cli 默认路由再子路由选中下的选中状态问题及解决代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
xmlHTTP实例
Oct 24 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
Mar 11 Javascript
在javascript中对于DOM的加强
Apr 11 Javascript
table insertRow、deleteRow定义和用法总结
May 14 Javascript
JS控制网页动态生成任意行列数表格的方法
Mar 09 Javascript
JS实现仿微博可关闭弹出层效果
Sep 21 Javascript
jquery ajax局部加载方法详解(实现代码)
May 12 Javascript
在js中实现邮箱格式的验证方法(推荐)
Oct 24 Javascript
js初始化验证实例详解
Nov 26 Javascript
vue.js整合mint-ui里的轮播图实例代码
Dec 27 Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
javascript实现时钟动画
Dec 03 Javascript
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 #jQuery
Vue下拉框回显并默认选中随机问题
Sep 06 #Javascript
vue兄弟组件传递数据的实例
Sep 06 #Javascript
webpack4简单入门实例
Sep 06 #Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 #jQuery
对vue中v-on绑定自定事件的实例讲解
Sep 06 #Javascript
微信小程序开发之自定义tabBar的实现
Sep 06 #Javascript
You might like
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
PHP数据类型的总结分析
2013/06/13 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
判断JavaScript对象是否可用的最正确方法分析
2008/10/03 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
详解Python中的各种函数的使用
2015/05/24 Python
关于python pyqt5安装失败问题的解决方法
2017/08/08 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
用python做游戏的细节详解
2019/06/25 Python
python实现大量图片重命名
2020/03/23 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
请假条怎么写
2014/04/10 职场文书
品质标语大全
2014/06/21 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
纪委立案决定书
2015/06/24 职场文书
党员转正大会主持词
2015/07/02 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书