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 相关文章推荐
js中的escape及unescape函数的php实现代码
Sep 04 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
Apr 09 Javascript
jquery.autocomplete修改实现键盘上下键自动填充示例
Nov 19 Javascript
jQuery提示插件alertify使用指南
Apr 21 Javascript
JavaScript实现select添加option
Jul 03 Javascript
超实用的JavaScript代码段 附使用方法
May 22 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
Jul 22 Javascript
vue路由懒加载的实现方法
Mar 12 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
Aug 19 Javascript
浅谈vue方法内的方法使用this的问题
Sep 15 Javascript
ES6扩展运算符和rest运算符用法实例分析
May 23 Javascript
vue 封装面包屑组件教程
Nov 16 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
聊天室php&amp;mysql(三)
2006/10/09 PHP
PHP 危险函数全解析
2009/09/09 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
Mootools 1.2教程 函数
2009/09/15 Javascript
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
Javascript 跨域知识详细介绍
2016/10/30 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
2019/06/22 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
python使用htmllib分析网页内容的方法
2015/05/08 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
英国工具中心:UK Tool Centre
2017/07/10 全球购物
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
PHP面试题大全
2015/10/16 面试题
司机的工作范围及职责
2013/11/13 职场文书
《问银河》教学反思
2014/02/19 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
大学生学年个人总结
2015/02/15 职场文书
爱国主义电影观后感
2015/06/18 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python