繁体   English   中英

在 VUE.JS 中传递多个参数问题

[英]Passing multiple params issue in VUE.JS

我试图通过将多个 id 作为参数传递来获取数据。但是我传递的参数是我不想要的数组。

例子:

当前数据:api 返回参数作为 details?ids[]=123&ids[]=245

预期数据:我想将参数作为详细信息传递?ids=123&ids=245

  const postRes = await axios.post('employee/departments', this.details);
  const getRes = await axios.get('employee/departments',
     { params: { ids: postRes.map(i=>i.id)},
  });
  this.$emit('fileDetails', getRes.data);

您可以自己序列化参数:

  1. Map 将每个 object 转换为一个字符串,其中包含以对象id为前缀的'ids='
  2. 使用&分隔符连接生成的数组。
const params = postRes.map(i => 'ids=' + i.id) 1️⃣
                      .join('&') 2️⃣
const getRes = await axios.get('employee/departments?' + params)

例如,运行此代码段 output:

 const postRes = [{ id: 11 }, { id: 22 }, { id: 33 }] const url = 'employee/departments?' + postRes.map(i => 'ids=' + i.id).join('&') console.log(url)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM