массив (splice, push и даже поля в объектах массива), который прямо в этой же компоненте выводится через *ngFor выводится и все сразу перерисовывается. Нормальное ли это поведение, что ангуляр сразу видит изменения такие глубокие и реагуирует на них?
нет, скорее это из за того что ты явно cdref вызываешь
Нужен код компонента
та не, в том и дело, что не вызываю... Я и ожидал, что придется его вешать везде в методах(( Через 2 секунды я обновляю сабджект основного объекта в корневом сервисе и он через инпуты должен был бы запустить перерисовку, но это аж через 2 секунды. А изменения происходят сразу((
любое событие из шаблона вызывает cdref неявно, скорее тебе нужно trackByFn использовать
о, а это не знаю что. Спасибо) сейчас почитаю
но при онпуше должен вызывать явно сам.
да, вот в том и дело...
а покажите мутацию и обьект скрином, мб будет понятнее. могу точно сказать что если ангуляр видит изменения то это точно по ссылке значение передается. И наверное даже изза того что нету дип копи как раз и перерисовывается а не изза того что ченджтетешн
вот этот объект приходит в компонент. И те айтемы выводятся через ngFor. По клику на кнопку я эти айтемы удаляю или добавляю, либо из инпута меняю текст
перезапись нужна массива либо поставь detectChanges() после
та в том и дело) мой вопрос в том, почему при мутациях происходит перерисовка))
потому что вы в обьекте имеете массив который копируете, но ссылка на обьект та же. Поэтому изменения применяются
Обсуждают сегодня