vue尚品汇商城项目-day03【18.合并params和query参数(Header组件+TypeNav组件)】

简介: vue尚品汇商城项目-day03【18.合并params和query参数(Header组件+TypeNav组件)】

1.jpeg

@[toc]

18.合并params和query参数(Header组件+TypeNav组件)

目前代码的传参场景是:Header组件的搜索按钮按照params传参,而TypeNav组件的三级联动菜单采用query传参,合并参数的意义在于,无论是搜索按钮还是三级菜单联动都应该既包含query参数也包含params参数。

当下错误效果图如下,三级菜单跳转搜索后三级菜单的query参数没了,而搜索之后再跳转菜单时搜索的parms参数没了:

image.png

修改代码如下:

Header组件

goSearch() {
     let location = {name: 'search', params:{keyword:this.keyword}};
      if (this.$route.query) {
        location.query = this.$route.query
      }
      this.$router.push(location)
    }

TypeNav组件中

//判断:如果路由跳转的时候,带有params参数,捎带脚传递过去
if (this.$route.params) {
    location.params = this.$route.params;
}

正确的效果图如下:

image.png

本人其他相关文章链接

1.vue尚品汇商城项目-day03【16.开发Search组件模块中的TypeNav商品分类菜单(过渡动画效果)+17.(优化)针对三级菜单联动进行优化,优化方向为减少查询】
2.vue尚品汇商城项目-day03【18.合并params和query参数(Header组件+TypeNav组件)】
3.vue尚品汇商城项目-day03【vue插件-19.mockjs模拟数据(开发Home首页当中的ListContainer组件与Floor组件)】
4.vue尚品汇商城项目-day03【20.获取Banner轮播图的数据+21.使用swiper轮播图插件】
5.vue尚品汇商城项目-day03【22.开发Floor组件】

目录
相关文章
|
10月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
785 2
|
9月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
661 137
|
12月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
575 0
|
JavaScript
Vue的非父子组件之间传值
全局事件总线 一种组件间通信的方式,适用于任意组件间通信
297 0
|
缓存 JavaScript 前端开发
Vue Props、Slot、v-once、非父子组件间的传值....
Vue Props、Slot、v-once、非父子组件间的传值....
270 0
|
JavaScript
Vue中父子组件传值
先在⽗组件中给⼦组件的⾃定义属性绑定⼀个⽗组件的变量
281 0
|
JavaScript
vue 组件传值
vue 组件传值
250 0
|
JavaScript
vue父子组件传值
vue父子组件传值
|
JavaScript
Vue父子组件传值(porvide+inject实现组件通信)
如果我们需要把父组件的值传递给子组件,而且子组件可能存在层层嵌套,那么就可以使用provide+inject的方法来实现组件之间的通信
422 0
Vue父子组件传值(porvide+inject实现组件通信)
|
前端开发 JavaScript
Vue中如何自定义组件实现组件化开发(案例步骤及组件传值)
在前端项目中,对于大面积可以复用的地方我们通常对其进行组件化的封装,从而提高代码复用率,简化开发,也便于后期对代码进行维护和修改。
416 0
Vue中如何自定义组件实现组件化开发(案例步骤及组件传值)