2015-09-29 19 views
5

Korzystanie Ember.2.1.0-beta4Ember Ember-views.render-double-zmodyfikować

otrzymuję "Ember-views.render-double-modyfikacja" w funkcji wywołanej przez "didReceiveAttrs" z podskładnik.

I wytropił oświadczenie this.set('_columns', columns) która wyzwala błąd. Jednak w przypadku AFAIK po raz pierwszy atrybut jest modyfikowany.

Aby debugować go, stworzyłem obserwatora na zmodyfikowanym atrybutem, a tam umieścić punkt przerwania. Jednak obserwator jest wywoływany tylko raz i błąd nadal istnieje, więc wygląda na to, że jest to pierwsze połączenie.

Jak debugować to - czy jest to bug Ember, czy istnieją inne ograniczenia dotyczące ustawiania atrybutów, które nie są wyraźnie w błędzie? Zauważ, że atrybut jest używany w szablonie komponentu. Również atrybut jest używany w innych atrybutach obliczeniowych (np. [email protected] i _columns.[]).

Odpowiedz

6

Dla dobra potomności za odpowiedź w moim przypadku było: _columns jest używana w szablonie. Tak więc dla didReceiveAttrs dla podskładnika, który ma być wywołany, poprzednia wartość _columns była już używana.

Komunikat o błędzie jest trochę mylący, ale pomysł, myślę, że po uruchomieniu, aby uczynić nie można zmienić właściwości aż skończysz. Jeśli to konieczne, użyj Ember.run.scheduleOnce('afterRender', ...).