vue的二级页面导航栏如何高亮?

比如导航栏有两个按钮,地址如下:

www.xxx.com/page1/A.vue
www.xxx.com/page2/B.vue

这时候A和B里面还有二级页面叫A1.vue和B1.vue

www.xxx.com/page1/subpage1/A1.vue
www.xxx.com/page2/subpage2/B1.vue

clipboard.png

然后导航栏的代码如下.点击会高亮(背景加红色).

<ul>
     <li>
         <nuxt-link to="/subpage1/A">A</nuxt-link>
     </li>
     <li>
         <nuxt-link to="/subpage2/B">B</nuxt-link>
     </li>
</ul>

clipboard.png

现在的问题是当进入A1或B1页面的导航栏并没有高亮,现在我判断了地址栏带有page1或page2就给对应的高亮,但是会在页面加载完成后才出现高亮,效果不尽人意;
图片描述

请教有什么办法在子页面一开始加载就存在高亮吗?

阅读 3.7k
1 个回答

你可以通过使用json的方式配置这块的路由
如:

{
  name: 'two',
  path: '/two',
  meta: {
    level:'two'
  },
  component: () => import('pages/B.vue')
},

然后通过beforeRouterEnter判断路由,然后加class

<ul>
 <li>
     <nuxt-link to="/subpage1/A">A</nuxt-link>
 </li>
 <li>
     <nuxt-link to="/subpage2/B">B</nuxt-link>
 </li>
</ul>

这个也动态渲染

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题