Je voudrais regarder un objet/tableau, qui peut être édité par un service ou par une routine de contrôleurs. Je pensais qu'un Observable pouvait regarder un objet/tableau.Angular2 surveille les changements d'objet/tableau (Angular2 final> = 2.1.1)
Ma mise en œuvre ne réagit pas sur les modifications des articles:
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;
}
})
}
Le observalbes ne réagit pas Souscription sur les changements du tableau d'éléments. Il se déclenche seulement sur son prochain méhtod. D'un autre côté ... c'est trop lourd pour une simple méthode de surveillance.
Qu'est-ce que angular-2 nous offre de surveiller les changements, comme $ scope. $ Watch l'a fait dans angular-1?
Avez-vous un exemple simple comment un tableau/objet pourrait être regardé? C'est une ligne de code dans Angular1, si c'est compliqué comme je le vois dans NgClass, il est sur-conçu. – marcel
Angular2 n'a pas beaucoup en commun avec Angular1. Ils ont fait 2 réécritures complètes pour arriver où ils sont maintenant, et pour une raison. Angular2 vise une performance maximale. Il y a des choses qui sont meilleures que dans Angular1 et d'autres qui ne le sont pas. Les choses qui ne sont pas meilleures d'un point de vue, ont généralement d'autres avantages. –
Pour regarder un objet une caractéristique fondamentale. Cela signifie que ce n'est pas possible dans Angular2? Quel genre de stratégie dois-je suivre dans angular2 maintenant? – marcel