Bonjour,

Je travaille sur Angular2 j'ai mon backend qui me fourni une liste de données

  1. je charge la liste en provenance de mon backend
  2. je selectionne un element de ma liste
  3. et j'affiche les details de mon element
  4. j'edite mon element de la liste
  5. et quand je soumet le formulaire j'ai une erreur
  6. les modif sont en bd mais mon application plante



et j'ai une erreur au moment d'une faire une action sur un element de la liste voici ma requete:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 getList(Id : number ){
 
        this.startLoading();
 
        this.currentItem = null;
        this.items = [];
 
        return this.http.get( prefix+'monUrl/'+Id)
            .catch( this.addError )
            .map( (responseData : any ) => {
                return responseData.json();
            })
            .map( (items : Array<Object>) => {
                if( items['error'] != null ){
                    this.addError(items);
                    return;
                }
 
            });
    }
voici ma fonction update:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
var headers = new Headers();
        headers.append("Content-Type","application/json");
        return this.http.post( prefix+'/.../update'+ this.Id, JSON.stringify({
            action : "enable-item",
        }), {headers : headers})
            .catch( this.addError )
            .map( (res : any) => {
                return res.json();
            })
            .map( (res : any) => {
                if( res['error'] != null ){
                    this.addError(res);
                    return;
                }
                this.forceReload = true;
                return true;
            });
et voici mon erreur en console:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
 
core.umd.js:3467 ORIGINAL STACKTRACE:
ErrorHandler.handleError @ core.umd.js:3467
next @ core.umd.js:6924
t.object.i @ core.umd.js:6172
SafeSubscriber.__tryOrUnsub @ Subscriber.js:223
SafeSubscriber.next @ Subscriber.js:172
Subscriber._next @ Subscriber.js:125
Subscriber.next @ Subscriber.js:89
Subject.next @ Subject.js:55
EventEmitter.emit @ core.umd.js:6164
onError @ core.umd.js:6388
onHandleError @ core.umd.js:6263
ZoneDelegate.handleError @ zone.js:236
Zone.runTask @ zone.js:157
ZoneTask.invoke @ zone.js:335
core.umd.js:3468 Error: Cannot find a differ supporting object '2'
    at KeyValueDiffers.find (core.umd.js:4859)
    at NgClass.set [as ngClass] (common.umd.js:1543)
    at _View_MessageDisplay1.detectChangesInternal (MessageDisplay.ngfactory.js:147)
    at _View_MessageDisplay1.AppView.detectChanges (core.umd.js:9566)
    at _View_MessageDisplay0.AppView.detectContentChildrenChanges (core.umd.js:9584)
    at _View_MessageDisplay0.detectChangesInternal (MessageDisplay.ngfactory.js:41)
    at _View_MessageDisplay0.AppView.detectChanges (core.umd.js:9566)
    at _View_ListComponent0.AppView.detectViewChildrenChanges (core.umd.js:9592)
    at _View_ListComponent0.detectChangesInternal (ListComponent.ngfactory.js:98)
    at _View_ListComponent0.AppView.detectChanges (core.umd.js:9566)
ErrorHandler.handleError @ core.umd.js:3468
next @ core.umd.js:6924
t.object.i @ core.umd.js:6172
SafeSubscriber.__tryOrUnsub @ Subscriber.js:223
SafeSubscriber.next @ Subscriber.js:172
Subscriber._next @ Subscriber.js:125
Subscriber.next @ Subscriber.js:89
Subject.next @ Subject.js:55
EventEmitter.emit @ core.umd.js:6164
onError @ core.umd.js:6388
onHandleError @ core.umd.js:6263
ZoneDelegate.handleError @ zone.js:236
Zone.runTask @ zone.js:157
ZoneTask.invoke @ zone.js:335
core.umd.js:4859 Uncaught Error: Cannot find a differ supporting object '2'
    at KeyValueDiffers.find (core.umd.js:4859)
    at NgClass.set [as ngClass] (common.umd.js:1543)
    at _View_MessageDisplay1.detectChangesInternal (MessageDisplay.ngfactory.js:147)
    at _View_MessageDisplay1.AppView.detectChanges (core.umd.js:9566)
    at _View_MessageDisplay0.AppView.detectContentChildrenChanges (core.umd.js:9584)
    at _View_MessageDisplay0.detectChangesInternal (MessageDisplay.ngfactory.js:41)
    at _View_MessageDisplay0.AppView.detectChanges (core.umd.js:9566)
    at _View_ListComponent0.AppView.detectViewChildrenChanges (core.umd.js:9592)
    at _View_ListComponent0.detectChangesInternal (ListComponent.ngfactory.js:98)
    at _View_ListComponent0.AppView.detectChanges (core.umd.js:9566)
j'ai procedé a une recherche et n'ai rien trouvé sur le sujet peut-être que je ne cherche pas au bon endroit?

PS: ma liste est très longue ce qui génère quand même des autres bogues comme le trie des elements..

ma prioriter est cette erreur de handler..

Merci.