Ich versuche, eine einfache Fehlerbenachrichtigungskomponente einzurichten, während das Debuggen in Visual Studio innerhalb von subscribe, dieser scheint nicht definiert zu sein.RxJS: Warum ist 'das' undefiniert innerhalb Abonnieren
public notifications: NotificationMessage[];
constructor(notificationService: NotificationService) {
this.notifications = []; //'this' is defined here
notificationService.rxEmitter.subscribe((notificationMessages: any) => {
this.notifications = notificationMessages; //'this' is undefined here
});
}
Edit: Screenshot dieser von einem Haltepunkt in VS. nicht definiert wird Interessanterweise existiert '_this', , zur Laufzeit, obwohl ich es nicht referenzieren kann, da Typoskript einen Verweis nicht gefunden Fehler bei der Kompilierung wirft.
Dies ist sehr unwahrscheinlich. Pfeilfunktionen funktionieren nicht so. Entweder unterscheidet sich echter Code von dem, den Sie gepostet haben, oder Sie haben irgendwo anders einen Fehler. Erwägen Sie, http://stackoverflow.com/help/mcve zur Verfügung zu stellen, das das Problem replizieren kann, ein Plunk wäre in Ordnung. – estus
haben Sie versucht, den Subskriptionsaufruf in eine ngOnInit-Methode zu setzen? Es scheint so zu sein, als ob es aufgerufen wurde, bevor Ihr Konstruktor das Objekt tatsächlich erstellt hat. Dies ist zu diesem Zeitpunkt noch nicht definiert. – Supamiu
@Supamiu sollte nicht der Fall sein, op sollte eine PLNKR wie der Code scheint mir gut –