nuxt路由及传参

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

nuxt

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


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页面不会报错, 在修改和新增数据的用同一个页面的时候这种做法非常有效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 3,694评论 0 6
  • 1.静态初始化块: 记住执行顺序 :有继承的时候也是一样--->想想java SA JVM构建虚拟机的时候。栈...
    消失的七月阅读 425评论 0 0
  • 乐人,做为江湖上的一个特殊行业,像“曲艺”“卖药”“杂技魔术”等行业一样,为了方便交流,有自己一套传用语言...
    郭澄阅读 721评论 0 0
  • @所有人 OSF外语社团 5th Meeting(2018-09-23) Date:Sep.23th,Sunday...
    霏_dfa6阅读 247评论 0 0
  • 短短半年内 开始分裂 多不对 没关系 你不用给我机会 我就是 剩这么一点点倔 称得上 我的优点 你说谁也不愿跟这样...
    qtpifan阅读 296评论 0 0