2016-12-02 3 views
0

Ich habe die folgende Methode in meinem AppComponent:Verwendung von Typen in Angular 2 mit Typoskript

connectToTweetStream() { 
    this._tweetService.connectToStream() 
    .subscribe(
     tweet => { 
     this.tweets.push(tweet); 
     }, 
     error => this.errorMessage = <any>error 
    ); 
} 

Wenn ich erkläre tweets als ein Array von jedem: tweets: any[] = []; an der Spitze meines AppComponent Klasse alles funktioniert super. Ich möchte jedoch tweets vom Typ Tweet sein, also tweets: Tweet[] = [];.

Wenn ich diese Änderung mache, erhalte ich den Fehler Argument of type '{}' is not assignable to parameter of type 'Tweet'. Und tatsächlich, wenn ich in Zeile 4 des obigen Codes über tweet schwebe, ist es vom Typ {}. Wie kann ich das beheben, so dass tweets ein Array von Tweet Objekten sein kann?

Antwort

0

In Ihrem Abonnement werfen den Typ jedes Element

subscribe(
     (tweet as Tweet) => { 
     this.tweets.push(tweet); 
     }, 
     error => this.errorMessage = <any>error 
    ); 
Verwandte Themen