2015-09-29 20 views
5

Mit Ember.2.1.0-beta4Ember Ember-views.render-Doppel ändern

Ich erhalte die "Glut-views.render-double-Modify" in Abhängigkeit von dem "didReceiveAttrs" ausgelöst von eine Unterkomponente

Ich habe die Anweisung this.set('_columns', columns) aufgespürt, die den Fehler auslöst. In AFAIK ist dies jedoch das erste Mal, dass das Attribut geändert wird.

Um es zu debuggen, habe ich einen Beobachter für das geänderte Attribut erstellt und dort einen Haltepunkt gesetzt. Der Beobachter wird jedoch nur einmal aufgerufen und der Fehler ist immer noch vorhanden. Es sieht so aus, als wäre dies der erste Aufruf.

Wie sollte ich dies debuggen - ist das ein Ember Bug, oder gibt es andere Einschränkungen bei der Einstellung von Attributen, die im Fehler nicht klar sind? Beachten Sie, dass das Attribut in der Vorlage der Komponente verwendet wird. Außerdem wird das Attribut in anderen berechneten Attributen verwendet (z. B. [email protected] und _columns.[]).

Antwort

6

Für die Nachwelt war die Antwort in meinem Fall: _columns wird in der Vorlage verwendet. Somit wurde für der aufzurufenden Unterkomponente bereits der vorherige Wert _columns verwendet.

Die Fehlermeldung ist ein wenig irreführend, aber die Idee, denke ich, ist, dass Sie die Eigenschaften erst ändern können, wenn Sie fertig sind. Verwenden Sie ggf. Ember.run.scheduleOnce('afterRender', ...).