169 похожих чатов

Всем привет) подскажите плиз, только учусь применять на практике onPush.

Получается, если использовать эту стратегию, то при получении данных от бека мы их отрисовывать будем через async pipe, ибо если подписываться то надо будет запускать изменение обнаружений изменений вручную или же это нормальная практика, руками запускать?

20 ответов

7 просмотров

Несовсем понятно, в чем проблема?)

При onPush стратегии автоматически проверка изменений запускается только после изменений @Input, async пайпа внутри себя делает markForCheck когда приходит новое значение, можно запускать и руками через ChangeDetectorRef, если ни первый вариант ни второй вам не подходит

Bulbosaurus- Автор вопроса
Алехандро Крюков
При onPush стратегии автоматически проверка измене...

Понял, спасибо. А что лучше использовать, в плане производительности? Async pipe или же subscribe и внутри него запускать обнаружение изменений. Читал статью, в которой такие слова были сказаны. "Ручной запуск обнаружения изменения не является хаком но вы должны использовать его только в случае необходимости" В случае необходимости. Как я понял, лучше избегать. Вот в чем вопрос

Bulbosaurus
Понял, спасибо. А что лучше использовать, в плане...

та то уже на любителя и по ситуации. Главное, что обнаружение изменений onPush включено, а значит компонента не будет реагировать на каждый чих. Если не какое-то мегасложное приложение, то без onPush даже проще писать, особенно на начальных этапах изучения ангуляра) Не будет заметно разницы

Bulbosaurus
Понял, спасибо. А что лучше использовать, в плане...

буквально сегодня вышло видео от автора их Харькова, который уже давно ничего не выпускал. Там об этом пайпе, примеры его использования и полезные советы https://www.youtube.com/watch?v=DX_6GAx26U0&lc=Ugw4S6oKLosoZTnPmIh4AaABAg.9aAFxs0FSH49aAGc1yZdDd

Evgheni Чернявский
по производительности разницы нет вообще

Однако async является грязным пайпом и отрисовку делает больше одного раза

Rus
Однако async является грязным пайпом и отрисовку д...

так и не делает ничего трудоёмкого при вызове что могло хоть как-то замедлить приложение

Evgheni Чернявский
так и не делает ничего трудоёмкого при вызове что ...

Ну трудоемкость уже зависит от данных которые передаются в пайп

Rus
Ну трудоемкость уже зависит от данных которые пере...

мы же про async пайп говорим, Observable передаётся внутри два ифа на сравнение и вернуть значение из переменной, учитывая что на странице мало кто использует больше чем двух async пайпов то можно пренебречь что это грязный пайп

Evgheni Чернявский
так и не делает ничего трудоёмкого при вызове что ...

на null он не вызывает markForCheck, только когда ему приходит новое сообщение по подписке

Evgheni Чернявский
на null он не вызывает markForCheck, только когда ...

А ты уверен что после одной полной отрисовки он не рисует второй раз?

Rus
А ты уверен что после одной полной отрисовки он не...

исходники ангулара в открытом доступе, можно всегда глянуть что он делает

Rus
А ты уверен что после одной полной отрисовки он не...

В рамках одного синхронного цикла он обновит вьюху один раз.

Alex Inkin
В рамках одного синхронного цикла он обновит вьюху...

Хорошо. Он дергает markforcheck. Есть ли смысл оформлять подписку в компоненте и дергать detectchanges?

Rus
Хорошо. Он дергает markforcheck. Есть ли смысл офо...

Посмотри статью, которую я кинул — это два очень разных метода 🙂

Rus
Хорошо. Он дергает markforcheck. Есть ли смысл офо...

detectChanges по всем канонам ангуляра должен дёргаться, когда компонент выдернут из дерева проверки изменений (с помощью метода detach), т.к. он по сути синхронно запускает проверку изменений компонента и его дочерних компонентов

Vladimir Luvolunov
detectChanges по всем канонам ангуляра должен дёрг...

Не понятны слова «выдернут из дерева проверки изменений»

Rus
Не понятны слова «выдернут из дерева проверки изме...

То есть ангуляр его не будет никак проверять

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
How to create an OS in C? what to study?
Linus
18
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Реально в одиночку написать игровой движок на Си?
ㅤ (SVO)
9
Карта сайта