Ich benutze AngularJS 2 Beta 0 und ich versuche, ein RxJS Observable von einem Ereignis auf einem Fensterobjekt zu erstellen. Ich glaube, ich kenne die Formel für die Erfassung der Veranstaltung als beobachtbare in meinem Dienst:Angular2 RxJS bekommen 'Observable_1.Observable.fromEvent ist keine Funktion' Fehler
var observ = Observable.fromEvent(this.windowHandle, 'hashchange');
Das Problem ist, dass jedes Mal, wenn ich diesen Code ausführen versuchen, ich erhalte eine Fehlermeldung besagt, dass ‚fromEvent‘ ist keine Funktion.
Uncaught EXCEPTION: Error during evaluation of "click"
ORIGINAL EXCEPTION: TypeError: Observable_1.Observable.fromEvent is not a function
Das scheint mir zu bedeuten, dass ich meine import
nicht richtig jetzt Umgang dass RxJS nicht in dem Aufbau von Angular 2 enthalten ist, obwohl der Rest meiner Anwendung richtig funktioniert, mir was bedeutet, dass RxJS ist, wo es sein soll.
Mein Import im Dienst sieht wie folgt aus:
import {Observable} from 'rxjs/Observable';
Obwohl ich auch diese zu verwenden, anstatt versucht hat (mit den entsprechenden Änderungen an den Code), mit dem gleichen Ergebnis:
import {FromEventObservable} from 'rxjs/observable/fromEvent';
ich habe die folgende Konfiguration in meinem Index.HTML:
<script>
System.config({
map: {
rxjs: 'node_modules/rxjs'
},
packages: {
'app': {defaultExtension: 'js'},
'rxjs': {defaultExtension: 'js'}
}
});
System.import('app/app');
</script>
Kann mir jemand sagen, was Ich mache es falsch?
warum fügen wir alles von rxjs hinzu, können wir nicht nur die benötigten teile hinzufügen –
@MahmoudHboubati ja können sie nur die benötigten teile einbringen. Sehen Sie sich die Antwort unten an. Dies ist der richtige Weg, um Dinge zu importieren, damit Sie Ihr Asset-Bundle nicht aufblähen. – SgtPooki
Dies ist keine empfohlene Verwendung .. Sie sollten NIEMALS ALLE Operatoren importieren (also nie von 'rxjs/RX' – Mackelito