Ich möchte ein Objekt/Array, die von einem Dienst oder von einer Controller-Routine bearbeitet werden können. Ich dachte, dass ein Observable ein Objekt/Array beobachten könnte.Angular2 Uhr Objekt/Array-Änderungen (Angular2 final> = 2.1.1)
Meine Implementierung reagiert nicht auf Änderungen der Elemente:
private data : Observable<Array<any>>;
private dataObserver: Observer<Array<any>>;
private sub : Subscription;
private items: <Array<any>>;
ngOnInit() {
this.items = itemService.getItems();
this.data = new Observable<Array<any>>(observer =>{
this.dataObserver = observer;
});
this.data.subscribe(
x => console.log('onNext: %s', x),
e => console.log('onError: %s', e),
() => console.log('onCompleted')
);
this.dataObserver.next(this.items);
}
private start(){
//change values of the array in an interval
let loop = Observable.interval(250)
let i=0;
self.sub = loop.subscribe(() => {
if(self.items[0]){
self.items[0].id= i;
if(i<100) i++;
else i=1;
}
})
}
Die observalbes subsciption auf Änderungen der Artikel Array nicht reagiert. Es löst nur auf seinem nächsten mehtod aus. Auf der anderen Seite .. das ist zu mühsam für eine einfache Uhr Methode.
Was bietet angular-2 uns an, auf Änderungen zu achten, als $ scope. $ Watch did in eckig-1?
Haben Sie ein einfaches Beispiel, wie ein Array/Objekt beobachtet werden könnte? Es ist eine Codezeile in Angular1. Wenn es so kompliziert ist, wie ich es in NgClass sehe, ist es übertrieben. – marcel
Angular2 hat mit Angular1 nicht viel gemeinsam. Sie haben 2 komplette Umschreibungen gemacht, um dorthin zu kommen, wo sie jetzt sind, und das aus einem bestimmten Grund. Angular2 zielt auf maximale Leistung ab. Es gibt Dinge, die besser sind als in Angular1 und andere nicht. Die Dinge, die aus einer Perspektive nicht besser sind, sind normalerweise andere Vorteile zu erhalten. –
Um ein Objekt ein grundlegendes Merkmal zu beobachten. Das bedeutet, dass es in Angular2 nicht möglich ist? Welche Art von Strategie muss ich jetzt in angular2 verfolgen? – marcel