我有一个允许我获取数据的方法
onGet() {
this._httpService.getCurrent(this.model.user_email)
.subscribe(
data => this.getData = JSON.stringify(data),
error => alert(error),
() => console.log('Finished')
);
}
我收到一个Json,它给了我一个数字,就像
{current: '1', some_other_data: 'data1'}
或
{current: '2', some_other_data: 'data1'}
或
{current: '3', some_other_data: 'data1'}
等
我收到了数据,但我无法使用它。 我需要为我的路由器使用数据,例如(它当然没有工作,只是某种伪代码)
goAhead() {
if(current = 1){
this.router.navigate( ['page-1'] );
} else if (current = 2){
this.router.navigate( ['page-2'] );
}
}
在我的goAhead
方法中,我看不到getData的新值,它是未定义的。
我怎么能解决这个问题?
答案 0 :(得分:0)
好的,假设您在组件中使用了goahead函数并调用了一个返回结果的服务,请将您的代码更改为以下
onGet() {
this._httpService.getCurrent(this.model.user_email)
.subscribe(
data => this.getData = data.json();
error => alert(error),
() => console.log('Finished')
);
}
并且假设goahead函数在同一个组件中而不是数组,那么
goAhead() {
if(this.getData.current == 1){
this.router.navigate( ['page-1'] );
} else if (this.getData.current == 2){
this.router.navigate( ['page-2'] );
}
}
应该做的伎俩