从 Vue 访问 data() 对象
Access data() object from Vue
(对于货币转换器)
我需要像这样访问一个对象:
rates:
AUD: 1.708562
SGD: 1.546211
我从 API 那里得到这些费率,但它们不按顺序排列。即,如果我要求美元兑英镑,它将首先显示英镑。所以我需要一种方法来获取请求的符号来获取值。
我试过这个:
const from = res.rates.this.convertFrom.symbol;
// -----AND-----
const fromSymbol = this.convertFrom.symbol;
const from = res.rates.fromSymbol.toString();
哪个没用
Link 到 codesandbox
PS: this.convertFrom.symbol
returns 来自用户的输入。在这种情况下,它是 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
}
}
现在,我们可以使用点符号或括号符号轻松访问对象的属性。但是由于这里的对象 rates
键是动态的,我们需要使用括号表示法,如:
const from = res.rates[this.convertFrom.symbol]
const to = res.rates[this.convertTo.symbol]
演示:
const res = {
"success": true,
"base": "EUR",
"rates": {
"GBP": 0.869339,
"USD": 1.0875
}
}
const data = {
convertFrom: { symbol: "GBP" },
convertTo: { symbol: "USD" }
}
const from = res.rates[data.convertFrom.symbol];
const to = res.rates[data.convertTo.symbol];
console.log('From:\t', from)
console.log('To:\t', to)
(对于货币转换器)
我需要像这样访问一个对象:
rates:
AUD: 1.708562
SGD: 1.546211
我从 API 那里得到这些费率,但它们不按顺序排列。即,如果我要求美元兑英镑,它将首先显示英镑。所以我需要一种方法来获取请求的符号来获取值。
我试过这个:
const from = res.rates.this.convertFrom.symbol;
// -----AND-----
const fromSymbol = this.convertFrom.symbol;
const from = res.rates.fromSymbol.toString();
哪个没用
Link 到 codesandbox
PS: this.convertFrom.symbol
returns 来自用户的输入。在这种情况下,它是 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
}
}
现在,我们可以使用点符号或括号符号轻松访问对象的属性。但是由于这里的对象 rates
键是动态的,我们需要使用括号表示法,如:
const from = res.rates[this.convertFrom.symbol]
const to = res.rates[this.convertTo.symbol]
演示:
const res = {
"success": true,
"base": "EUR",
"rates": {
"GBP": 0.869339,
"USD": 1.0875
}
}
const data = {
convertFrom: { symbol: "GBP" },
convertTo: { symbol: "USD" }
}
const from = res.rates[data.convertFrom.symbol];
const to = res.rates[data.convertTo.symbol];
console.log('From:\t', from)
console.log('To:\t', to)