$postLink против $OnInit и порядок жизненного цикла компонента в angularjs
Эй, у меня есть опыт создания компонентов angularjs, и мне просто интересно, почему в каждом жизненном цикле компонентов есть цикл $postlink. Я знаю, что цикл $ postLink этот хук вызывается после того, как элемент контроллера и его дочерние элементы были связаны. Когда составные элементы будут скомпилированы и готовы к работе, эта ловушка будет запущена.
Но у меня есть пара вопросов:
1. Все ли манипуляции с DOM должны быть в цикле $postlink или прикреплять прослушиватели событий? Почему бы не создать директиву для этой цели?
2. Что мешает мне делать все манипуляции с DOM в $OnInit и в чем разница между циклом $OnInit и циклом $postlink?
Еще раз спасибо заранее
1 ответ
1. Директива или Компонент postLink?
Вы можете использовать оба варианта. В моей компании мы предпочитаем использовать Директивы для манипулирования DOM. И держать компоненты простыми;).
2. onInit () против postLink()
Ответ на различие между onInit и postLink.
onInit()
начать, когда ваши привязки готовы, и компонент DOM готов. НО ДОМ их детей не готов.
postLink()
запускается, когда Component DOM и ваши потомки DOM готовы.
Затем, если вам нужно только использовать компоненты, используйте onInit()
, Но если вам нужно использовать детские тоже, используйте postLink()
, Кроме того, помните мою точку зрения 1.