【发布时间】:2020-05-18 13:52:42
【问题描述】:
我有一个 observable,它是一个带有键值对的对象数组。
我可以通过以下方式访问该数组的第一个元素:
const source = this.store.select('news').pipe();
const element = source.subscribe(val => console.log(val.news[0]));
它在控制台中正确记录我的对象。
如果我尝试只记录 newsId by
const source = this.store.select('news').pipe(); const element = source.subscribe(val => console.log(val.news[0].newsId));
我收到错误“无法读取未定义的属性‘newsId’”。
如何将对象定义为一个整体,但如果我尝试访问该对象,它会告诉我它是未定义的?
【问题讨论】:
-
你能告诉我们
store.select的代码和包含数据的数组吗? -
抱歉,“store.select 的代码”是什么意思?我只是去“新闻”状态。我怎么给你看数组?没有机会加载屏幕截图...
-
observable 传递一个对象“新闻”。该对象包含一个“新闻”数组,数组的每个元素都包含一些键值对。在这些键值对中,有一个包含数字的 newsID。我想获取数组元素0的newsId的值。
-
@JJJanezic 我同意,这听起来很奇怪。您确定您在代码中完全相同的位置同时执行“console.log(val.news[0])”和“console.log(val.news[0].newsId)”,没有别的变了吗?
-
是的,我没有 newsId -> 可以;我更改了代码 -> 它没有。
标签: angular rxjs observable