$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.

Другие вопросы по тегам