使用对象分解代替我的api调用的默认参数

问题描述 投票:0回答:3

我正在尝试在vue组件中使用对象分解来代替我的api调用的默认参数。有人可以告诉我为什么这行不通吗?它们都是我组件中的方法,大写锁定变量在组件外部设置,而这些是从数据中拉出的。]

buildUrl() {
  const options = {
    parm1: PARM_1,
    parm2: PARM_2,
    parm3: this.parm3,
    parm4: this.parm4
  };
  const { parm1, parm2, parm3, parm4 } = options;
  return `things?parm1=${parm1}&parm2=${parm2}&parm3=${parm3}&parm4=${parm4}`;
}

async foo() {
  const { parm1, items: things } = await this.$axios.$get(
    this.buildUrl({ parm1: this.parm1 + 1 })
  );
  this.parm1 = parm1;
  this.things.push(...things);
},

我正在尝试在vue组件中使用对象分解来代替我的api调用的默认参数。有人可以告诉我为什么这行不通吗?它们都是我组件中的方法,大写...

javascript vue.js axios nuxt.js destructuring
3个回答
1
投票

我认为您想要的是这样的东西:


0
投票

您根本不接受buildUrl中的任何参数。看来您想接受一个要分解的参数并为其提供各种默认值。看起来像这样:


0
投票

我不确定组件的设置或显示的示例代码的完整性,但对我来说,您似乎不接受buildUrl函数中的任何参数。但是在foo中,您要将对象传递给buildUrl

© www.soinside.com 2019 - 2024. All rights reserved.