在Angular 8中工作时我遇到一个问题。
service.ts文件
public getTopicsByContainerId(containerId) {
var result;
if (this.envUrl.accessMock == true) {
result = topicsData;
return of(result.filter(items => items.attributes.ContainerOid == containerId));
}
else {
var url = this.getTopicsByContainerIdEndPoint.replace("{id}", containerId);
return this.repository.getData(url).subscribe();
}
}
component.ts文件
var output = this.homeService.getTopicsByContainerId(container_Oid).subscribe(res => {
this.currentContainerTopics = res[0];
});
现在的问题是,当从组件文件调用Web服务时,我面临以下错误。
ERROR in src/app/home/home.component.ts(98,72): error TS2339: Property 'subscribe' does not exist on type 'Subscription | Observable<any>'.
Property 'subscribe' does not exist on type 'Subscription'.
谁能告诉我我在哪里做错了?
您需要在方法中添加返回类型Observable<YourType>
,getTopicsByContainerId()
并在subscribe
method内部删除方法getTopicsByContainerId()
:
public getTopicsByContainerId(containerId) : Observable<YourType> {
var result;
if (this.envUrl.accessMock == true) {
result = topicsData;
return of(result.filter(items => items.attributes.ContainerOid == containerId));
}
else {
var url = this.getTopicsByContainerIdEndPoint.replace("{id}", containerId);
return this.repository.getData(url);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句