Ich bin gerade dabei, RxJS zu lernen, und ich probiere ständig viele Operatoren und Kombinationen aus, die ich interessant finde.Einige RxJS-Operatoren fehlen im angular2 CLI-Projekt? Was ist zu tun?
Ich lerne Form hier: http://reactivex.io/documentation/operators.html und here.
Ich habe ein Angular2 rc4 CLI-Projekt - also verwende ich Typoskript. RxJS ist: 5.0.0-beta.6
Das Problem:
Ich fand, dass einige Betreiber sind nicht auf dem beobachtbar sind.
Zum Beispiel: Ich möchte eine beobachtbare schaffen, die einer nach dem anderen Schlüsselwertepaare eines Objekts zurückgibt: Sie können sehen, wie die Umsetzung aussieht, wie ich es gemacht habe from here.
// Using Standard JavaScript
var obj = {
foo: 42,
bar: 56,
baz: 78
};
var source = Rx.Observable.pairs(obj);
var subscription = source.subscribe(
function (x) {
console.log('Next: %s', x);
},
function (err) {
console.log('Error: %s', err);
},
function() {
console.log('Completed');
});
// => Next: ['foo', 42]
// => Next: ['bar', 56]
// => Next: ['baz', 78]
// => Completed
Aber hier ist das, was mein Redakteur sieht so aus:
kein Intelisense für Observable.pairs() ..
Basierend auf this post ich habe aded die 2 Importe:
import {Observable} from "rxjs/Rx";
import 'rxjs/Rx'; // import all operators and stuff. it's not good practice i know, but only for this example
Und mehr Typisierungen für rxjs als Winkel cli bietet installieren tryed, aber funktioniert nicht:
typings install --save --ambient npm:rx/ts/rx.all.d.ts // Unable to resolve "npm:rx/ts/rx.all.d.ts" from "rx"
or
typings install rxjs // Unable to find "rxjs" ("npm") in the registry.
Und aslo verwenden tryed:
import * as Rx form 'rxjs/Rx'
myObjProperties$ = Rx.Observable.pairs(myObj) // still doesn't work, same error.
Und aslo, kann ich nicht erklären Warum funktioniert das Drucken des Observable-Objekts auf der Konsole nicht? Ich bekomme eine string-function
, die nutzlos ist. Kein Prototypzeug.
console.log('TheAllmightyObservable : ', Observable) // i get:
// TheAllmightyObservable : function Observable(subscribe) {
// this._isScalar = false;
// if (subscribe) {
// this._subscribe = subscribe;
// }
// }
Ich habe das gleiche Problem bei vielen anderen Betreibern: ofObjectChanges, ofArrayChanges, ofWithSkeduler, Paare - einige von ihnen nicht so wichtig - aber es nervt mich, wenn ich fand einen RxJs Betreiber, die sehr nützlich ist, und Ich kann es nicht im angular2 CLI-Projekt verwenden.
Fragen:
was angular2 mit RxJS zu tun hat? (Ich vermisse das allgemeine Bild, denke ich ..) - Gibt es eine separate Liste von angular2-rxjs Operatoren oder RxJS ist vollständig getrennt Paket und kann wie Jquery zum Beispiel verwendet werden? Ich meine keine kabelgebundene Interferenz zwischen den 2 - das kann ich nicht vorhersagen. (Digest-Zyklus verwandt vielleicht ?!)
wo finde ich eine gute Liste aller RxJS Operatoren, die auf angular2 verfügbar sind - vorausgesetzt, dass existiert.
ist dies nur ein Typescript - Typisierungsproblem? Wenn ja, wie installiere ich sie, um alle Operatoren zu haben, die in den Dokumenten verfügbar sind? Wenn keine Typisierung verfügbar ist, wie wird vorübergehend dieses
"no property/method found on x"
Problem loswerden?
Vielen Dank für die Zeit, mich zu lesen, zu nehmen und helfen
Ich hatte das gleiche Problem [hier] (http://stackoverflow.com/questions/38607203/angular-2-property-topromise-does-not-exist-on-type-observableresponse) und seine etwas ähnlich zu ihm . Es ist noch immer unbeantwortet. Ich habe ein Problem mit angular github, aber immer noch keine richtige Lösung gefunden. Hoffe, du findest eine Lösung dafür –