我正在使用axios开发带有电子的应用程序以获取api数据,但是当我用来显示数据时,它在屏幕上显示未定义,而当我输出它时,它显示了正确的值!!一些帮助,将不胜感激!
const electron = require('electron');
const path = require('path');
const BrowserWindow = electron.remote.BrowserWindow;
const axios = require('axios');
const notifyBtn = document.querySelector('.notify-btn');
const price = document.querySelector('.price');
const targetPrice = document.querySelector('.target-price');
function getBTC(){
axios.get('https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD&api_key={api_key}')
.then(function(response) {
let cryptos = response.data;
price.innerHTML = '$'+cryptos;
console.log(response.data);
});
}
getBTC();
setInterval(getBTC, 30000);
我在控制台中得到一个输出: 对象:美元:3560.263(比特币的当前价格) 我在主屏幕上得到输出: “未定义”
我认为这是因为它是一个对象,所以如何显示对象? 我可能是错的! 谢谢!!
答案 0 :(得分:1)
您正在访问字符串的属性。
price.innerHTML = '$'.cryptos;
^^^ property
我认为您想用+运算符来连接值
price.innerHTML = '$' + cryptos;
答案 1 :(得分:1)
不是
price.innerHTML = '$'.cryptos;
// but
price.innerHTML = '$' + cryptos.USD;
添加.USD
,因为密码是一个对象。并将值保存到键USD
答案 2 :(得分:1)
尝试使用
price.innerHTML = '$'+cryptos.USD;
答案 3 :(得分:1)
您打算使用'$'。cryptos实现什么? ?
如果您要连接一些字符串,这不是它的工作原理!
尝试"$"+cryptos
答案 4 :(得分:1)
在编写字符串时,应仅使用基本类型变量。
如果要显示对象,只需使用JSON.stringify(cryptos)
即可获取整个对象的JSON字符串。
否则,您可以打印任何其他原始类型的对象属性,例如cryptos.USD
。