尚品汇项目在进行路由跳转时传参失败

   在尝试编程式路由导航结合事件委派进行路由跳转时,在传递query参数时,发现有一部分未传过去,通过打印输出调试发现自己忽略了一个简单问题,就是在给标签添加自定义属性时采用的是驼峰命名法,但是浏览器会将其都变成小写,就不是驼峰了。

  标签代码如下:

                   <h3> 
                        <a :data-categoryName="c1.categoryName"
                        :data-category1Id="c1.categoryId"
                        >{{c1.categoryName}}</a>
                    </h3>

  失败代码:

​
            let element=event.target;
            let {category1Id,category2Id,category3Id,categoryname}=element.dataset;
            if(categoryname){
               let location={name:'search'}
               let query={categoryName:categoryname}
               if(category1Id){
                query.category1Id=category1Id
               }else if(category2Id){
                query.category2Id=category2Id
               }else {
                query.category3Id=category3Id;
               }
               location.query=query
               this.$router.push(location)
             }

​

  打印调试过程中,发现不论点击什么,3个categoryId都为unfefined

1ae6fbe065ae4b288280d2ead2c0181d.png

  于是我对element.dataset进行了输出,发现3个categoryId的命名都变成了小写

a02bc8fd0d3045e6863c51cf42882327.png 因此,我将解构赋值过程中的categoryId都变成小写,结果成功将query传递过去

成功代码

​
            let element=event.target;
            let {category1id,category2id,category3id,categoryname}=element.dataset;
            if(categoryname){
               let location={name:'search'}
               let query={categoryName:categoryname}
               if(category1id){
                query.category1Id=category1id
               }else if(category2id){
                query.category2Id=category2id
               }else {
                query.category3Id=category3id;
               }
               location.query=query
               this.$router.push(location)
            }

​

1f3e817f0a4f4f978db8dc1d2fa4542d.png成功将需要的参数携带过去。 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值