typescript – Angular2 Observable.forkJoin的可观察变量 – ReferenceError:Observable未定义

前端之家收集整理的这篇文章主要介绍了typescript – Angular2 Observable.forkJoin的可观察变量 – ReferenceError:Observable未定义前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想请你帮忙.我省略了我认为不重要的代码.让我们想象包含服务调用的TS文件

// file:someService.ts

@H_301_3@@Injectable() export class SomeService { method1(){ var observable = this.http.get(someUrl) .map((res: Response) =><MyClass[]>res.json()); return observable; } method2(){ // Similar to method1 } }

// file:someComponent.ts

请注意,this.method1observable和method2observable可以从父(root)组件正确分配,其类型为Observable.

@H_301_3@import {Observable} from 'rxjs/Observable'; export class SomeClass { public m1: Observable<MyClass[]>; public m2: Observable<AnotherClass[]> ngOnInit() { Observable.forkJoin(this.m1,this.m2) //<- ERROR HERE .subscribe(data => { this.myFunction(data[0],data[1]); requestAnimationFrame(this.renderLoop); }); } }

我得到“未捕获ReferenceError:Observable未定义”.
你不知道我做错了什么吗?我看到一些示例,其中Observable.forkJoin在服务中被调用.但是如果我想在组件中调用它呢?

您可以尝试以这种方式导入: @H_301_3@import {Observable} from 'rxjs/Rx';

代替:

@H_301_3@import {Observable} from 'rxjs/Observable';

您还应该使用一个数组来为forkJoin方法提供可观察值:

@H_301_3@ngOnInit() { Observable.forkJoin([this.m1,this.m2]) .subscribe(data => { this.myFunction(data[0],data[1]); requestAnimationFrame(this.renderLoop); }); }

并且不要忘记在@Component中指定输入:

@H_301_3@@Component({ inputs: ['m1','m2'] })
原文链接:https://www.f2er.com/angularjs/140604.html

猜你在找的Angularjs相关文章