У меня есть четыре компонента, настроенные из той же модели. В зависимости от состояния элемента он будет показан в одном из четырех компонентов.Эмблема повторного рендеринга, когда не в DOM
Компоненты являются: is-new, is-ready, is-started, is-completed.
На каждом из этих компонентов есть временная метка, которую я хотел бы обновлять непрерывно. Однако, когда DOM или состояние моделей обновляются, Ember прерывается со следующей ошибкой.
Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.
Это пример одного из компонентов:
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'article',
click: function() {
this.attrs.action();
},
didInsertElement: function() {
this.updateCreatedAt();
},
updateCreatedAt: function() {
console.log(this.isDestroying, this.isDestroyed);
if (this.isVisible && !this.isDestroying && !this.isDestroyed) {
this.rerender();
}
Ember.run.later(this, 'updateCreatedAt', 60000);
}
});
Кто-нибудь есть какие-либо улики по этому вопросу?
'Ember.run.scheduleOnce ('afterRender', это, updateCreatedAt);' В ваш крюк 'didInsertElement' –
@ Kitler работает как шарм. Спасибо! –
Np, я добавлю его в качестве ответа –