这个 Angular 声明有什么问题?

这样声明为什么总是报错,14行提示用const代替let[用const16行仍然找不到],16提示找不到priceQuote。哪里出错了?
9行不影响运行,但也不知道原因。

在外部定义了 priceQuote,但18行还是提示找不到 priceQuote。VS code不提示,浏览器不显示内容,输出里提示:ERROR TypeError: Cannot read property 'lastPrice' of undefined。图片已上传底部。

已解决!
this.price = priceQuote.lastPrice;放setInterval内部就OK

图片描述

图片描述

阅读 2.2k
2 个回答

let是局部作用域内有效,你在定时器的回调函数里面才能访问priceQuote,脱离局部作用域后就消失了,所以你这个priceQuote应该声明再setInterval之前。

在外面定义了priceQuote的话在setInterval就直接使用this.priceQuote,不需要在使用const重新声明,const声明的priceQuote是另外一个了,也只在局部作用域内有效。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进