我正在尝试使用可观察的区间方法,但我不断收到错误
Property 'interval' does not exist on type 'Observable<any>'.
Run Code Online (Sandbox Code Playgroud)
我添加了这些导入:
import "rxjs/Rx";
import "rxjs/add/observable/interval";
import "rxjs/observable/IntervalObservable";
Run Code Online (Sandbox Code Playgroud) 我有这个全局错误处理程序:
import { ErrorHandler, Injectable, Injector } from '@angular/core';
import { Router } from '@angular/router';
@Injectable()
export class GlobalErrorHandler extends ErrorHandler
{
constructor(private injector: Injector) {
super(false);
}
handleError(error) {
super.handleError(error);
const router = this.injector.get(Router);
router.navigateByUrl('/error');
}
}
Run Code Online (Sandbox Code Playgroud)
我把它放在app.module中:
providers: [
{
provide: ErrorHandler,
useClass: GlobalErrorHandler
}
]
Run Code Online (Sandbox Code Playgroud)
为了测试这个我在服务中抛出一个错误.由于某种原因,错误组件与页面的其他内容一起显示.像这样的东西:
如果我通过转到/错误测试错误组件它会显示如下(错误页面是一个单行的段落):
Sorry, something went wrong!
Run Code Online (Sandbox Code Playgroud)
但是当我进入我的主页时,错误应该触发它会显示如下:
Sorry, something went wrong!
....
... Original content for /home
....
Sorry, something went wrong!
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我,我做错了什么?
更新
我已经更新到angular-cli 1.5.2并且还更新到了角度5并且那里的bug似乎已经修复了.我可以使用路由器导航到错误页面.