зону, если правильно выразился. Тогда помогло, может и здесь так можно?)
Поможет, да
шикарно работает) спасибо большое. Просто как-то detectChanges встречаю в рекомендациях. А он проблемы создал((
Вообще рекомендую разобраться почему из зоны вышли
ну для этого мне надо разобраться нормально, что такое зона)) А то я только бегло когда-то давно почитал, так как нечасто с таким стыкаюсь))
А как это вообще возможно
1) Стороння либа, типа ngxs 2) Подписка на ngZone.onStable 3) Где-то сами вышли из зоны и забыли
А что значит сами вышли и забыли? Как это можно сделать? Я такого вообще никогда не видео
А, забыл, 4) вебсокеты
Просто-напросто кастомная система ивентов, типа сервис с сабжектом, в тайге есть оператор zoneFree(), который выполняет всю последующую цепь вне зоны, тут тоже что-то похожее может быть
runOutsideAngular()
А это зачем может быть нужно?
Для tooptip к примеру
у меня есть обработчик на маус мув и я его запускаю вне зоны чтобы не тригерить ренднринг.
Для того, чтобы не вызывать лишние циклы cd afaik, на каждое окончание микроочереди задач (timeout, async/await, event) в ангулар зоне вызывается в конце cd ApplicationRef.tick() Для этого еще и нужен OnPush - он отрезает целую ветку компонентов от такого cd
Чтобы тултип показывать свой, можно ранить код вне ангуляра, так как тултип никак не влияет на компоненты
Из-за этого люди и пилят кастомные тултипы. Во всех либах он не вызывает cd, а в материале это починить не могут уже 100 лет
вообще ничего вроде из перечисленного) Пришел с бека массив данных с карточками календаря (для фильтрации по датам). Я чекнул сравнением дат, является ли дата первого элемента будущей в сравнении с сегодняшней датой. Если дата будущая, то свойство isPreviousDates = true. В темплейте кнопка <button *ngIf="isPreviousDates">, чтобы листать даты назад. Все) Единственное, что массив дат грузится долго и после окончания ангуляру надо сказать, что произошли изменения (OnPush стратегия ведь). Не знаю, считается ли это выходом из зоны. И оставалось либо detectChanges прописать, либо дождаться отрисовки нижней компоненты с отображением товаров, хотя я не пойму, почему кнопка появлялась после отрисовки нижней компоненты, ведь у них просто общий родитель... Но как-то тригерит..
Штош, ваш диагноз - легаси хрен-знает-как-оно-работает-код
А вы можете напомнить совсем вкратце в чем проблема? При сохранении массива дат в свойство компонента не перерисовываются соответствующие части шаблона?
все уже нормально. Это у меня была проблема с выходом из зоны, вы еще с Романом дискутировали потом о возможных причинах, а я просто не видел и поздно отписал, что у мне причины не подходят) Но мне Роман помог и все работает (добавил я вручную в зону ту проверку)
Обсуждают сегодня