2019独角兽企业重金招聘Python工程师标准>>>

相信左侧导航栏大家都不陌生,几乎每个项目都会存在。以前用jquery做的时候,某些本不是什么问题的地方就突然变成阻碍了。下面就给大家介绍一下在导航中遇到的一些问题和解决方法。

<div class="sidebar"><ul class="nav nav-sidebar b-nav"><li :class="{ 'active': isActive[0] }"><a href="javascript:;" class="b-nav-icon b-img2" @click="toggleList(0)">对接管理</a><ul class="b-nav-inside" :class="{ 'active': isActive[0] }">                 <li v-for="item in links[0]"><a @click="tiaozhuan(item.path)" v-link="{ path: item.path, activeClass: 'active' }">{{item.name}}</a></li>                  </ul></li><li :class="{ 'active': isActive[1] }"><a href="javascript:;" class="b-nav-icon b-img6" @click="toggleList(1)">数据中心</a><ul class="b-nav-inside" :class="{ 'active': isActive[1] }">                 <li v-for="item in links[1]"><a @click="tiaozhuan(item.path)" v-link="{ path: item.path, activeClass: 'active' }">{{item.name}}</a></li>                  </ul></li></ul></div>
<script>export default {data: function() {return {links: [[{ path: '/dock/adv', name: '广告主' },{ path: '/dock/media', name: '媒体' }],[{ path: '/data/report', name: '广告报表' },{ path: '/data/record', name: '录数据' },{ path: '/data/detail', name: '明细报表' }]],isActive: [false, false, false, false, false]}},methods: {tiaozhuan: function(item) {if(this.$route.path == item) {location.href = location.href}},toggleList: function(index) {this.isActive.$set(index, !this.isActive[index])}},route: {data: function(transition) {var path = transition.to.pathfor(var i=0;i<this.links.length;i++) {for (var j=0;j<this.links[i].length;j++) {if(this.links[i][j].path == path) {this.isActive.$set(i, true)break}}}transition.next()}}}</script>

首先是菜单的展开与收起,在这里我就用了一个数据去保存每个菜单的打开状态,通过绑定一个点击事件,去改变对应的状态,从而实现菜单展开收起功能;另外,把导航内的信息放到一个数组是为了解决在某个页面点击其对应导航不能刷新页面的问题,这里我是绑定了一个点击事件,在点击时判断此路由是否与当前路由相同,如果是就利用location.href=location.href刷新一次;最后在监听路由的变化,确保路由变化时导航栏对应的菜单在打开状态。以上就是我这次分享的小技巧。

转载于:https://my.oschina.net/u/3171278/blog/818069

vue项目中处理左侧导航栏问题的分享相关推荐

  1. Vue项目中使用 路由导航守卫 处理页面的访问权限

    参考Vue-Router官方文档 Vue-Router导航守卫 效果展示 1.给需要登录状态才能访问的页面路由对象的 meta 中添加配置属性 { // 小智同学name: 'user-chat',p ...

  2. vue+elementUI项目中使用NavMenu导航菜单

    vue+elementUI项目中使用NavMenu 导航菜单 在elementUI官网组件中NavMenu 导航菜单的使用只是简单地运用,在实践项目中还需要配合路由配置.一般后台管理系统不只是导航菜单 ...

  3. vue项目中,使用微信js-sdk打开微信内置导航,唤醒第三方导航,

    vue项目中,使用微信js-sdk打开微信内置导航,唤醒第三方导航 一.准备工作 二.开发须知 三.开始安装sdk 四.通过微信的config接口注入权限验证配置 附上代码 最近在搞vue项目需要在手 ...

  4. vue+elementui左侧导航栏

    vue+elementui左侧导航栏踩坑 最近接触前端vue+elementui,记录一下 1. element官网这里:default-active="***"前面没有冒号,直接 ...

  5. 在iview + vue项目中使用自定义icon图标

    最近做一个后台管理系统,是用iview+vue cli2做的,在做的过程中需要将左侧的导航栏加入icon图标,但是iview库里的图标和UI要求不符,这就需要引入自己的图标库. 1. UI设计师会把自 ...

  6. 修改vue-element-admin左侧导航栏的图标

    vue-element-admin一个基于 vue2.0 和 Eelement 的控制面板 UI 框架,这是使用vue技术栈开发的前端程序员的首选管理系统模板,模板以及非常的成熟了,并且有相关的社区和 ...

  7. 基于CarSystemUI实现左侧导航栏NavigationBar及下拉面板定制开发1——Android10智能座舱

    文章目录 前言 一.需求说明 二.修改方案 1.基于需求的两种设计构想 2.修改正确的高度及宽度 三.CarSystemUI 1.CarOS框架关于CarSystemUI的介绍 2.替换CarSyst ...

  8. 9.后台管理系统主页面布局以及左侧导航栏设计

    9.后台管理系统主页面布局以及左侧导航栏设计 1.首页布局 步骤: 在views目录下新建Main.vue文件,作为登录之后的布局 参考:element-ui 使用此模块的目的是,当中间内容部分有超出 ...

  9. Vue项目中tinymce富文本的安装以及配置

    Vue项目中tinymce富文本的安装以及配置 对于目前网上存在的许多富文本插件中,个人还是觉得tinymce相对比较强大一些.在使用配置的过程中,可能会出现配置不完全,导致使用不了的情况,下面把我个 ...

最新文章

  1. 算法设计思想(2)— 贪婪法
  2. 项目需求|RGBD实时三维重建(项目经费20万)
  3. js Object.keys()
  4. note 5 二分法求平方根,素数,回文数
  5. MySQL中空字符串与null的区别:计数 判断 时间
  6. 网络编程中如何得知一次请求(或响应)的数据已接收完
  7. Java并发编程,3分分钟深入分析volatile的实现原理
  8. 推荐一个在线查看.cer文件的网站
  9. oracle的视图表,oracle 常用视图和表
  10. HDOJ 2037:今年暑假不AC_大二写
  11. .net redis定时_一场由fork引发的超时,让我们重新探讨Redis的抖动问题
  12. webservice发布问题,部署iis后调用不成功
  13. conda命令没找到的处理方案
  14. xp和win7右键新建选项排序
  15. 切图直接导出html,Dreamweaver切图到生成网页的方法
  16. 利用Python批量修改多个ass字幕文件
  17. 无线桥接与无线中继的区别
  18. 年终总结:2021年最有用的数据清洗 Python 库
  19. 如何使用python读取modbus/TCP协议数据
  20. 蜜蜂路线图c语言思路,打蜜蜂(c语言)(Hit the bee (C language)).doc

热门文章

  1. 软考-信息系统项目管理师-信息系统安全管理
  2. 【Pandas】apply,applymap和map的区别
  3. c语言 遍历.jpg图像,求指导,如何用c语言实现读取*.raw格式图像
  4. python 路由转发_RabbitMQ之路由键转发消息
  5. 五矿期货携手神策数据,深耕数字化 5 大应用,加速金融科技创新增长
  6. 限时免费下载丨《2021 中国游戏市场挑战与机遇盘点》重磅发布!
  7. 这个中秋,来点不一样~
  8. 设计模式学习笔记之-代理模式
  9. 手把手系列:(一)用Benchmarksql测试Oracle数据库性能
  10. JS实现点击左边标题栏,右边显示对应信息