vue router-link子级返回父级页面

本文探讨了vue-router在嵌套路由中从二级路由跳转到一级路由时出现的一级路由重叠问题,并提供了解决方案:推荐使用this.$router.push进行页面跳转。

vue-router嵌套路由,从二级路由跳转到一级路由时,间歇性导致一级路由重叠

解决方法:

1.使用this.$router.push跳转

转载于:https://www.cnblogs.com/Kyaya/p/10697709.html

### Vue.js 中 `router-view` 传递参数 在 Vue.js 应用程序中,可以通过多种方式向嵌套路由组件传递数据。最常见的方式之一是利用动态路由匹配来实现参数的传递。 #### 动态路由定义 当设置路由配置时,可以在路径中加入冒号前缀的占位符作为动态部分: ```javascript const routes = [ { path: '/user/:id', component: User } ]; ``` 这里的`:id`就是可以变化的部分,在实际应用中可以据这个变量获取不同的用户信息[^1]。 #### 访问路由参数 对于上述定义好的带有参数的路由,在对应的组件内部能够通过 `$route.params` 来读取这些参数值并用于渲染逻辑之中。例如展示用户的ID: ```html <p>当前用户的 ID 是 {{ $route.params.id }}</p> ``` 如果想要更进一步简化组件与组件之间的通信,则推荐采用 props 属性绑定的方式来完成这一目标。 #### 使用 Props 绑定传参 为了使组件间的交互更加直观清晰,可以从组件直接给组件发送属性(props)。这不仅限于静态的数据还可以包含来自 URL 的动态片段。 首先修改路由规则以启用 prop 自动映射功能: ```javascript const routes = [ { path: '/product/:id', component: Product, props: true // 启用了自动将 url 参数转换成 props 发送给 target component. }, ]; ``` 接着调整 `<router-view>` 所指向的目标组件接收相应的 props 输入: ```html <!-- Product.vue --> <template> <div> 商品编号为:{{ productId }} </div> </template> <script> export default { name: 'Product', props: ['productId'], // 接收名为 productId 的 prop }; </script> ``` 这样做的好处在于让代码结构更为整洁有序,并且提高了可维护性和扩展性[^2]。 #### 实际案例中的实践 考虑到具体场景下的需求差异较大,这里给出一个综合性的例——导航栏内链接至不同分类的商品列表页,并携带类别标识作为查询条件的一部分。 ```html <nav-bar> <!-- navbar.vue 文件内的模板部分 --> <ul> <li><router-link :to="{name:'category', params:{type:'electronics'}}">电产品</router-link></li> <li><router-link :to="{name:'category', params:{type:'clothing'}}">服装鞋帽</router-link></li> </ul> <!-- 显示对应类别的商品详情 --> <router-view v-bind="$route.params"></router-view> </nav-bar> ``` 以上展示了如何基于命名路由以及对象形式指定跳转地址的同时附带必要的参数信息;而被加载进来的视图则会依据接收到的内容作出响应式的更新处理[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值