Vue.js Nuxt&;Vue-元素UI在浏览器后退按钮事件中保持活动菜单项

Vue.js Nuxt&;Vue-元素UI在浏览器后退按钮事件中保持活动菜单项,vue.js,vue-router,nuxt.js,element-ui,Vue.js,Vue Router,Nuxt.js,Element Ui,我的问题是,对于给定的单击菜单项,存在一个“已选择”状态,该状态会使该项变暗以供用户反馈。问题在于,当按下浏览器后退按钮时,激活的项目正在重置,而路线仍在正确更改。我制作了一个关于这里发生的事情的快速功能演示: 单击菜单项几次,然后按“模拟返回”按钮查看发生了什么。请注意,页面标题会正确更改,但菜单项上的活动状态会消失 我在实际项目中使用Nuxt/Vue和元素UI。我认为在路由器上使用中间件在路由改变时只需在菜单上设置“默认活动”道具是合适的,但我对Nuxt是新手,希望在我拼凑一些可能是不好的做

我的问题是,对于给定的单击菜单项,存在一个“已选择”状态,该状态会使该项变暗以供用户反馈。问题在于,当按下浏览器后退按钮时,激活的项目正在重置,而路线仍在正确更改。我制作了一个关于这里发生的事情的快速功能演示:

单击菜单项几次,然后按“模拟返回”按钮查看发生了什么。请注意,页面标题会正确更改,但菜单项上的活动状态会消失

我在实际项目中使用Nuxt/Vue和元素UI。我认为在路由器上使用中间件在路由改变时只需在菜单上设置“默认活动”道具是合适的,但我对Nuxt是新手,希望在我拼凑一些可能是不好的做法之前获得一些专业的输入

非常感谢您的帮助。如果有什么需要澄清的,请告诉我,这是我第一次来这里


提前谢谢

在nuxt.config.js文件中添加以下内容:

router: {
    linkExactActiveClass: 'active'
}
默认情况下,nuxt不为活动链接使用活动类

您还需要使用
组件将活动类绑定到活动页面链接

事实证明,我通过一点实验就能解决这个问题,而且非常简单

  • 默认活动属性设置为$route.path
  • 将项目的索引设置为其各自的路径

  • 这对我来说很有用,希望它能帮助将来的人

    谢谢你的回复……不幸的是,我正在为导航使用元素UI,所以我担心这不会完全解决问题。更具体地说,这似乎是元素本身的问题,而不是Nuxt的问题。
    router: {
        linkExactActiveClass: 'active'
    }