2016-05-07 85 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

相關問題