didRender
крючок не о triggering a re-render
.Он описан как Руководство, к которому вы поделились ссылкой:
Этот хук можно использовать для выполнения постобработки в DOM компонента после его обновления.
Возможно, вы захотите что-то сделать с размерами, фокусами или свитками.Для этого вам нужно дождаться окончания рендеринга.Потому что в противном случае вы не можете получить точные значения и положения компонентов.Для этих случаев вы можете использовать didRender
hook.
Например: - если вы хотите сфокусировать некоторые части представления - если вы хотите прокрутить некоторые части представления - если вы хотите изменить размеры некоторых компонентов- если вы хотите вызвать сторонние библиотеки, которые пытаются получить доступ к элементу DOM.и т.д. Вы можете использовать эту ловушку.
Конечно, если вы делаете что-то, что влияет на значения компонента, это может вызвать повторную визуализацию.Но это то, что вы обычно не должны делать.
Давайте еще раз уточним: re-render
:
По мере того, как компоненты визуализируются, перерисовываются и, наконец,Удаленный, Ember предоставляет ловушки жизненного цикла, которые позволяют запускать код в определенные моменты жизни компонента.
( Ref )
В руководстве говорится о 3 основных фазах( Ref ):
- Начальный рендер
- Повторный рендеринг
- Разрушение компонента
Здесь1040 * означает, что если изменяется аргумент или свойство компонента, он начинает перерисовываться сам.Например, представьте себе компонент person-card
, который отображает свойства человека.Такие как {{person-card person=model.person}}
.Всякий раз, когда изменяется параметр person, компонент будет повторно отображаться.