nuxt路由及传参

最近的nuxt项目中经常会用到路由传参,故在此有所总结了下nuxt中传参的方式和vue项目中传参的方式

nuxt

作为SSR的nuxt项目中路由是根据pages下的文件结构自动生成的,无需手动配置路由。很多时候项目需求,有列表页和详情页。
方式一: 如图:

 

13160451-21aa510fe0b26e88

image

 

详情页命名为 _id.vue (不要问我为什么要用这个名字 大概是nuxt默认)

params 传值(id会显示地址栏,其他参数不会显示在地址栏)

//  跳转到houses文件下的_id.vue详情页
 <nuxt-link target="_blank" :to="{name: 'log-id', params:{id: n.id,key:value}}"></nuxt-link>
 this.$router.push({ path: '/log/' + (_idl || 'new')}) 
this.$router.push({ name: 'log-id',params:{id:12,key:value}) 
接收:
async asyncData ({ params }) { //  params.id 就是我们传进来的值}
// 或者 
created () { this.$route.params.xxx}

query传值(会显示在地址栏)

// 传递参数
<nuxt-link target="_blank" :to="{name: 'houses',query:{need_type:'INVEST', district:item}}" ></nuxt-link>
this.$router.push({ path: `/log/${_idl}`,query: { key: value, key: value }})
// 接收参数:
created () { this.$route.query.xxx this.$route.query.xxx }
asyncData ({ app, query}) {
   query.site_id = siteId
 }

name: 'houses-id' 是指 houses文件加下的 _id.vue页面 name可以在 .nuxt文件夹下的 router页面
页面的/xxx/ 后面必须传值 数字,字母皆可, 此处用new的原因是 当_idl 为空的时候 进入log/_id.vue页面不会报错, 在修改和新增数据的用同一个页面的时候这种做法非常有效。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值