源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

详解Vue中一种简易路由传参办法

  • 时间:2020-11-23 16:03 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:详解Vue中一种简易路由传参办法
[b]情景模拟:[/b] A页面中,有一些div是根据A中的book数据通过v-for生成的,比如item。 并且点击会根据路由跳转到B页面。 而跳转到B页面后,我需要A中的item。
 <div v-for="(item,index) in book" :class='{on:$route.path === `/${item.to}/`}' @click='toOther(item.to)'>
 </div>
toOther(to,run) {
  if(this.$route.path!==`/${to}`){
   location.hash = to;
  }
},
[b]解决办法:[/b] 在A中的click事件中将item传进toOther()函数中,再根据路由传入
toOther(to,run) {
   if(this.$route.path!==`/${to}`){
    location.hash = to+'?'+run.key;
   }
  },
即将要传的参数添加在原本url加?之后,这样既不影响路由,也比较方便。 如图1所示: [img]http://files.jb51.net/file_images/article/201709/2017091514183523.png[/img] [img]http://files.jb51.net/file_images/article/201709/2017091514184424.png[/img] 如图2,这样子我们便可以在 this.$route 的fullPath中拿到A中我们需要传递的参数了。 具体要拿还需要进行字符串的分割取出所需的信息,但是这样子会很繁琐,我们只需多加几个字, 在你的参数前加上'sth'=
toOther(to,run) {
   if(this.$route.path!==`/${to}`){
    location.hash = to+'?'+'book_key='+run.key;
   }
  },
你就会发现你可以在query中拿到这些个数据 并且是一个object的形式 简直不能更完美! [img]http://files.jb51.net/file_images/article/201709/2017091514184525.png[/img] 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部