Javascript 从Vue访问data()对象

Javascript 从Vue访问data()对象,javascript,vue.js,fetch-api,Javascript,Vue.js,Fetch Api,(对于货币转换器) 我需要访问这样的对象: rates: AUD: 1.708562 SGD: 1.546211 我从API获得这些速率,但它们不是按顺序排列的。i、 e如果我要求美元兑换英镑,它将首先显示英镑。所以我需要一种方法来获取所请求的符号以获取值 我试过这个: const from = res.rates.this.convertFrom.symbol; // -----AND----- const fromSymbol = this.convertFrom.symbol;

(对于货币转换器)

我需要访问这样的对象:

rates:
  AUD: 1.708562
  SGD: 1.546211
我从API获得这些速率,但它们不是按顺序排列的。i、 e如果我要求美元兑换英镑,它将首先显示英镑。所以我需要一种方法来获取所请求的符号以获取值

我试过这个:

const from = res.rates.this.convertFrom.symbol;
// -----AND-----
const fromSymbol = this.convertFrom.symbol;
const from = res.rates.fromSymbol.toString();
这不管用

链接到


PS:
this.convertFrom.symbol
返回用户的输入。在本例中,它是
符号:“SGD”

因此,基本上您有如下设置数据:

convertFrom: {
    currency: "GBP: British Pounds",
    symbol: "",
    amount: 0
},
  convertTo: {
    currency: "USD: United States Dollar",
      symbol: "",
        amount: 0
  }
接下来,在
convert()
方法中,您还设置了货币符号,如下所示:

this.convertFrom.symbol = this.convertFrom.currency.toString().split(":")[0];
this.convertTo.symbol = this.convertTo.currency.toString().split(":")[0];
因此,现在
convertFrom.symbol
convertTo.symbol
的值是:

this.convertFrom.symbol => "GBP"
this.convertTo.symbol => "USD"
您还提到了
fetch
这里的响应如下:

{
    "success": true,
    "base": "EUR",
    "rates": {
        "GBP": 0.869339,
        "USD": 1.0875
    }
}
现在,我们可以使用点符号或括号符号轻松访问对象的属性。但由于此处的object
rates
键是动态的,我们需要使用括号表示法,如:

const from = res.rates[this.convertFrom.symbol]
const to = res.rates[this.convertTo.symbol]
演示:

const res={
“成功”:没错,
“基础”:“欧元”,
“费率”:{
“英镑”:0.869339,
“美元”:1.0875
}
}
常数数据={
convertFrom:{symbol:“GBP”},
convertTo:{symbol:“USD”}
}
const from=res.rates[data.convertFrom.symbol];
const to=res.rates[data.convertTo.symbol];
log('From:\t',From)

console.log('To:\t',To)
希望这能起作用:你能访问sandbox@palaѕѕ?是的,谢谢!!我尝试了
res.rates.[data.convertFrom.symbol]
。。。太接近了。感谢@palaѕѕѕѕѕѕѕ的详细回复!