2017-09-05 4 views
-1

Ich habe eine Variable-Themen:Kommunikation zwischen zwei Fach

threads: Subject<{[key: string]: Thread }> = new BehaviorSubject({}); 

ich zu meinem neuen Thread Variable diese Threads Variable hinzufügen möchten:

threadTest : Subject<Array<Thread>> = new Subject(); 

Ist es möglich, wie:

this.threadTest = this.threads; 

Danke für Ihre Hilfe ...

+0

Nein. Weil 'threads' einen anderen Typ als' threadTest' hat. Wenn beide vom selben Typ wären, würde es funktionieren. –

+0

'this.threadTest.next (this.threads.getValue());' D.Simon wird das nicht funktionieren? –

+0

@marouanekadiri Es setzt diesen Fehler: Eigenschaft 'getValue' existiert nicht auf Typ 'Betreff <{[key: string]: Thread; }> ' – Floriane

Antwort

1

Werte aus einer BehaviorSubject auf ein anderes Thema zu kopieren, müssen Sie dieses this.threadTest.next(this.threads.getValue()); (als Beispiel) verwenden

Aber in diesem Fall, wenn Sie einfach diesen Code verwenden werden das Gesicht Ihnen ein Problem des Typs {[key:string]:Thread} nicht übereinstimmt mit dem Thread[], um dies zu lösen, müssen Sie es in ein Array wie folgt umwandeln: this.threadTest.next((<any>Object).values(this.threads.getVa‌​‌​lue()));

Verwandte Themen