Ant Design Vue 导航菜单 路由与选中菜单对应

博客围绕Vue导航菜单展开,指出点击导航菜单可跳转界面,但刷新后选中的导航栏会变化。介绍了实现界面刷新后导航栏根据路由变化的方法,如设置菜单打开状态、绑定页面路由选中对应导航栏,以及使用router - link实现点击跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导航菜单

点击导航菜单跳转界面

刷新之后导航中选中的导航菜单栏会发生变化

如何实现界面刷新后对应选择得导航栏根据路由变化。

1.:open-keys="openKeys" 菜单呈打开状态

2.:selectedKeys="[$route.path]"

:key="'/ '" 绑定页面路由选中对应导航栏。

3.<router-link to="">文字</router-link> 点击跳转

<a-menu mode="inline" 
  :open-keys="openKeys" 
  :selectedKeys="[$route.path]" 
  style="width: 273px;height:1133px;">

     <a-sub-menu key="sub1">

        <span slot="title"><span>组件</span></span>

        <a-menu-item :key="'/Letter'">
            <router-link to="Letter">文字</router-link>
        </a-menu-item>

        <a-menu-item :key="'/MoButton'">
            <router-link to="MoButton">按钮</router-link>
        </a-menu-item>

        <a-menu-item :key="'/Icon'">
            <router-link to="Icon">图标</router-link>
        </a-menu-item>

        <a-menu-item :key="'/Breadcrumb'">
            <router-link to="Breadcrumb">面包屑</router-link>
        </a-menu-item>

        <a-menu-item :key="'/Dropdown'">
            <router-link to="Dropdown">下拉菜单</router-link>
        </a-menu-item>

        <a-menu-item :key="'/Pagination'">
            <router-link to="Pagination">分页</router-link>
        </a-menu-item>

        <a-menu-item :key="'/Steps'">
            <router-link to="Steps">步骤条</router-link>
        </a-menu-item>

     </a-sub-menu>

 </a-menu>

 

### 实现 Ant Design Vue 导航菜单点击切换路由功能 为了实现在 Ant Design Vue 中通过导航菜单点击来切换页面路由的功能,需遵循特定配置方法。 #### 路由文件配置 在 `router` 文件夹下的 `index.js` 文件中引入并定义路由信息。确保路径以斜杠 `/` 开头,以便从根目录进行绝对定位[^1]: ```javascript import Vue from &#39;vue&#39; import Router from &#39;vue-router&#39; import Home from &#39;@/components/Home.vue&#39; Vue.use(Router) export default new Router({ routes: [ { path: &#39;/&#39;, name: &#39;Home&#39;, component: Home, }, { path: &#39;/index/&#39;, name: &#39;IndexPage&#39;, component: () => import(&#39;@/components/IndexPage.vue&#39;), } ] }) ``` #### 组件内编写点击事件处理函数 对于希望响应点击从而改变视图的菜单项,在对应的组件内部注册相应的处理器逻辑。利用 `$router.push()` 方法执行实际跳转操作,并传递完整的 URL 地址作为参数: ```html <template> <a-menu @click="handleClick"> <!-- ... --> </a-menu> </template> <script> export default { methods: { handleClick({ key }) { this.$router.push(`/${key}/`) } } } </script> ``` 这里假设每个菜单项都有唯一的键名(即 item.key),当用户选择某个选项时会自动调用 `handleClick` 函数并将选中的项目 ID 或名称作为参数传入。之后便可以基于这个值构建目标地址字符串并发起请求。 另外需要注意的是关于动态加载异步组件的方式能够有效减少初始包体积大小,提高应用性能表现[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值