vue 页面间传值

同级传参的两种方式

1.query穿参,或者params传参

使用 this.$router.push({path: '/', query: {参数名: '参数值'}) 

this.$router.push({name: '/', params: {参数名: '参数值'})

注意1: 使用params时不能使用path

接收: var a = this.$route.query.参数名

           var b = this.$route.params.参数名

注意2:实用params去传值的时候,在页面刷新时,参数会消失,用query则不会有这个问题。


栗子:由A向B 跳转

在A列表跳转页

//点击事件
goToSDetails:function (id) {
  this.$router.push({
    path:'./release',
    query:{
      nameId:this.list[id].nameCn},
  })
},

B详情页

created:function(){
  this.getParams();
},
watch: {
  // 监测路由变化,只要变化了就调用获取路由参数方法将数据存储本组件即可
  '$route': 'getParams'
},
methods:{
  getParams:function(){
    // 取到路由带过来的参数
    var routerParams = this.$route.query.nameId
    // 将数据放在当前组件的数据内
    console.log("传来的参数=="+routerParams)
    this.textareText = routerParams
  },
}

二,下面也可以,不过还没试,先记录下来:

vue 组件之间使用eventbus传值:

链接:https://jingyan.baidu.com/article/72ee561a09027be16138dfd5.html


三、通过设置 Session Storage缓存的形式进行传递(这是摘抄别人的,自己记录一下)

①两个组件A和B,在A组件中设置缓存orderData
const orderData = { 'orderId' : 123 , 'price' : 88 }
sessionStorage . setItem ('缓存名称' , JSON . stringify ( orderData ))

②B组件就可以获取在A中设置的缓存了

const dataB = JSON . parse ( sessionStorage . getItem ('缓存名称' ))

此时 dataB 就是数据 orderData

朋友们可以百度下 Session Storage(程序退出销毁) 和 Local Storage(长期保存) 的区别。

原链接:https://blog.csdn.net/qq_35430000/article/details/79291287




  • 8
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值