我有一个Angular @Component
来管理Leaflet Map
对象。 Map
初始化ngOnInit()
方法。稍后在同一个方法中,我尝试从服务器检索当前的Membership
对象,并将其存储在类开头声明的变量中......:
@Component({
selector: 'aaa',
templateUrl: './aaa.html'
})
export class MyComponent implements OnInit, OnDestroy {
membership: MembershipGreenline;
map: L.Map;
...然后将Map
平移到Membership
的纬度和经度:
this.membership = this.membershipService.findCurrent().subscribe((responseWrapper: ResponseWrapper) => {
return responseWrapper.json;
},
(responseWrapper: ResponseWrapper) => this.onError(responseWrapper.json())
).add(() => {
this.map.panTo(new L.LatLng(this.membership.latitude, this.membership.longitude));
});
然而,我收到一个错误:
1 errors occurred during unsubscription: 1) TypeError: _this.membership is undefined
删除add()
调用会删除错误消息,这使我认为是尝试构建导致问题的LatLng
对象。
“运行第一个订阅”和“完成”消息显示在日志中,因此我知道该部分没有错误。
我想要发生的是在分配this.membership
后运行一些代码。
(我不认为这段代码特定于JHipster,但这就是我用来生成项目的内容)
我已根据@ cartannt的评论更新了我的代码:
this.membershipService.findCurrent().subscribe((responseWrapper: ResponseWrapper) => {
this.membership = responseWrapper.json;
this.map.panTo(new L.LatLng(this.membership.latitude, this.membership.longitude));
},
(responseWrapper: ResponseWrapper) => this.onError(responseWrapper.json())
);
现在我正在TypeError: _this.membership is undefined
致电panTo
。