我正在尝试保存从http get请求接收的数据,并将其保存到另一个属于组件
的数组中getAlerts(){
this.ChatAlertsService.getAlerts()
.subscribe((data) => {
console.log('ngon Init', data);
this.useralerts=data['result'];
console.log('inside subscribe user_alerts', this.useralerts);
},
(error) => console.log(error));
console.log('outside subscribe user_alerts', this.useralerts);
};
这是该函数的主要调用:
ngOnInit() {
this.getAlerts();
this.tableData1 = {
headerRow: ['ID', 'Alert Text', 'Type', 'CreatedAt'],
dataRows: this.useralerts
};
console.log(this.tableData1.dataRows);
}
我在订阅中传递数据,如下所示:
this.tabledata1.dataRows=this.useralerts;
这帮助我预览了表组件中的数据,但是我在主页面中获取了以前访问过的组件(就像它在订阅内部的路由器模块一样)
当我删除该行时,我无法将数据从GET请求保存到数组TableData1.datarows
因为它显示数据已成功保存在订阅内,但在外面它是"未定义"
你能不能给我一个解释,我现在被困了2天答案 0 :(得分:0)
我遇到了类似的麻烦,在您的情况下,我只是在订阅之外调用一个set函数的方式就是这样的:
getAlerts(){
this.ChatAlertsService.getAlerts()
.subscribe((data) => {
console.log('ngon Init', data);
this.setUsersArray(data['result']);
console.log('inside subscribe user_alerts', this.useralerts);
},
(error) => console.log(error));
console.log('outside subscribe user_alerts', this.useralerts);
};
setUsersArray(data){
this.useralerts= data;
}