im试图使用=>推送到rxjs的subsive方法中的一个数组,但是外面的数组变量变成了里面的对象,所以我不能使用.push
id;name;age;1;Alex;22;2;Adam;36;3;Cody;27
如您所见,我在subscribe和函数调用之前添加了日志,这是外部数组,内部是对象
我试图自己解决问题,但我找不到问题所在,我们将提供任何帮助 谢谢
答案 0 :(得分:3)
您还没有向我们展示log
语句所显示的内容,但是如果它们显示的内容有所不同,则仅会发生的原因是某些内容分配给了this.rows
在您订阅之前将其记录到订阅发生之间的时间,例如使用setTimeout
的示例:
const foo = {
example() {
this.rows = [];
console.log(1, this.rows);
setTimeout(() => {
console.log(2, this.rows);
}, 100);
}
};
foo.example();
foo.rows = {};
箭头功能内部的
this
与外面的相同,因为箭头功能是这样工作的。因此,如果this.rows
正在更改,那是因为某些内容正在更改。
答案 1 :(得分:-1)
这可能是关闭问题。尝试添加
getDeviceState(){
const _that = this;
.
.
.code...
_that.rows.push(state);
}