2016-05-07 3 views
4

ここでは、コンストラクタ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 
    } 

をhero.service.tsそれは「{}と入力されたどのようなエラー

[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:これはベータ16です。

+0

あなたが実際にやろうとしていますか?非常に奇妙なコードのように見える – smnbbrv

答えて

2

私は、これは動作するはずだと思う:

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

ありがとう。今、私はタイプ{}がどこから来ているのか理解しています。完璧に動作します。 – Shawn

関連する問題