2016-05-07 57 views
4

这里hero.service.ts构造TS2322:类型 '可观察<{}>' 是不能分配给输入 '可观察<Hero>'

@Injectable() 
export class HeroService { 
    private _heroObserver: Observer<Hero>; 
    hero$: Observable<Hero>; 
    public errorMessage: string; 

    constructor (private http: Http) { 
    this.hero$ = new Observable((observer:any) => this._heroObserver = observer).share(); // line 29 
    } 

它编译错误

[0] hero.service.ts(29,9): error TS2322: Type 'Observable<{}>' is 
not assignable to type 'Observable<Hero>'. 
[0] Type '{}' is not assignable to type 'Hero'. 
[0]  Property '_id' is missing in type '{}'. 

是什么类型“{} '提到,以及如何解决它? PS:这是在beta-16上。

+0

什么是你真正想干什么?看起来像一个非常奇怪的代码 – smnbbrv

回答

2

我认为这应该工作:

this.hero$ = new Observable<Hero>((observer:any) => this._heroObserver = observer).share(); // line 29 
+1

谢谢。现在我明白类型{}来自哪里。完美的作品。 – Shawn

相关问题