2015-11-10 17 views
11

Sono un po 'confuso, perché Obejct.observe is said to be withdrawn from the ES2016.Oggetto.observe prelievo e RxJS e Angular 2

D'altra parte ci sono stati talks on Angular Connect che menziona loro si baseranno su di esso.

Quindi, per quanto ho capito angolare 2 non si basa su Object.observe direttamente, ma su RxJS che fanno usare l'Object.observe

Potete per favore aiutarmi a capire l'impatto di questo ritiro? Sono anche confuso su come questo influenzerà lo sviluppo javascript reattivo funzionale.

Scusate se è una domanda stupida, ma tutti questi concetti sono davvero nuovi per me.

+3

'Object.observe' non ha assolutamente nulla a che fare con [' Observables'] (https://github.com/ReactiveX/RxJS), i nomi possono essere confusi, ma non sono nemmeno correlati. –

+0

E tu non sei l'unico ad essere confuso, vedi questo [numero] (https://github.com/angular/angular/issues/5119), lì hai la risposta per un membro del team principale. –

+0

Ho pensato che Angular 2 utilizza Object.observe con polyfill https://docs.google.com/document/d/10W46qDNO8Dl0Uye3QX0oUDPYAwaPl0qNy73TVLjd1WI/edit – fernando

risposta

4

RxJS non si basa su Object.observe (e afaik non intendeva farlo in futuro) poiché RxJS non ha un concetto di oggetti osservabili in sé (è possibile creare oggetti con flussi osservabili come valori anche se).

Per oggetto.observe angolare sarebbe stato rilevante, ma non si basava su di esso ancora penso (o almeno non al di fuori di Chrome).

Ad ogni modo, se sono necessari oggetti osservabili, ciò è ancora possibile utilizzando la libreria Mobservable, come spiegato in questo blogpost.

0

FYI .... v4.1.0 ha qualche dipendenza Object.observe quando si utilizza Rx.Observable.ofObjectChanges (obj) ...

prova voi stessi in cromo che ha ora rimosso il supporto per OO, se usi questo metodo per creare un osservabile otterrai un errore OO.

Quindi mentre si, OO non ha nulla a che fare con Observables nel contesto di RxJS, OO è usato in 4.1.0 che è stabile e deve ancora essere implementato in 5.XX (che direi che il ritardo è dovuto passare a Proxy).

Quindi, se si desidera utilizzare gli stream e il modello Rx, nessun problema, se si desidera utilizzare RxJS per osservare un oggetto, mi dispiace, sarà necessario il polyfill Proxy e utilizzare quello diObjectChanges è rotto ATM per chrome stable.