gpt4 book ai didi

Angular 2 无法读取未定义类型错误 : Cannot read property 'subscribe' of undefined 的属性 'subscribe'

转载 作者:太空狗 更新时间:2023-10-29 17:48:19 27 4
gpt4 key购买 nike

我已经在 stackoverflow 上尝试了很多关于修复此错误的提议,但现在我只需要问一下,因为我已经花了很多时间,现在一无所获。

我有这个简单的服务:

constructor(private http: Http, private tokenResolver: TokenResolver) {}

public getEventHistory(): Observable<heatmapElement[]> {

this.tokenResolver.getToken(true).subscribe(token => {
var headers = new Headers();
headers.append('Authorization', 'Bearer ' + token);
headers.append('Content-Type', 'application/json');

this.result = this.http.get(this.restApi, new RequestOptions({headers: headers}))
.map((res: Response) => res.json());
});

return this.result as Observable<heatmapElement[]>;
}

我想获取数据使用:

public demoData: heatmapElement[] =[];

getEventHistory(): void {
this.eventHistoryService.getEventHistory()
.subscribe(data => this.demoData = data,);
}

这造成了一个我似乎无法修复的错误:

EXCEPTION: Uncaught (in promise): Error: Error in http://localhost:5555/app/dashboard/dashboard.html:13:8 caused by: Cannot read property 'subscribe' of undefined TypeError: Cannot read property 'subscribe' of undefined

非常感谢您的帮助,谢谢

最佳答案

尽管这可能很奇怪,但在我的例子中,在花了很多时间调试之后,结果证明,我使用的是输出 ( @Output ) EventEmitter属性来处理自定义事件,而 Angular 在模板上传递时无法识别我的属性或自定义事件属性:

例如

<custom-component (keydownEvent)="someFunctoin()"></custom-component>

执行上述操作的问题是(就我的问题而言)(keydownEvent)不是有效的事件处理程序,但为什么它在开发中起作用,而不是在您构建项目时起作用。更奇怪,ng build --prod不会发出任何错误或警告!

解决方案

<custom-component keydown="someFunctoin()"></custom-component>

订户/订阅相关错误从何而来?

好吧,正如您想象的那样,一个人订阅了 EventEmitter - 所以我想这就是相关性所在

关于Angular 2 无法读取未定义类型错误 : Cannot read property 'subscribe' of undefined 的属性 'subscribe',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44128580/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com