【发布时间】:2019-12-13 12:34:53
【问题描述】:
我正在尝试订阅以下从 json 文件中读取数据的方法:
getDefaultNavbarStyle(templateId): any {
let template = null;
switch (templateId) {
case ActiveTemplates.Default:
this.httpClient.get(this.DEFAULT_TEMPLATE_PATH).subscribe(response => {
template = response;
});
break;
case ActiveTemplates.Quick:
this.httpClient.get(this.QUICK_TEMPLATE_PATH).subscribe(response => {
template = response;
});
break;
case ActiveTemplates.Front:
this.httpClient.get(this.FRONT_TEMPLATE_PATH).subscribe(response => {
template = response;
});
break;
default:
break;
}
return template;
}
来自另一个组件:
this.defaultNavbarStyleSubscription = this.builderNavbarService.getDefaultNavbarStyle(this.navbarTemplate).subscribe(response => {
if (response) {
this.defaultNavbarStyle = response;
}
});
但是,我不断收到以下错误:
ERROR TypeError: Cannot read property 'subscribe' of null
我能做些什么来解决它?我已将模板初始化为 null,但在 switch 语句中设置了它的值。
【问题讨论】:
-
您只能订阅
Observable,但您的case返回Subscription,因为您执行.subscribe()
标签: angular