Senior Fullstack Engineer (Angular, RxJs, TypeScript, Vanilla, Express, NestJs, GraphQL)
Контакты
Местоположение
Россия, Калининградская обл., Калининград (Кенигсберг)

Наибольший вклад в теги

Все теги (5)

Лучшие ответы пользователя

Все ответы (25)
  • Как средствами css либо Angular убрать определённый атрибут элемента?

    Ahmad66617
    @Ahmad66617
    Senior Fullstack Engineer
    Доброго времени суток-))) Очень просто -> через декоратор ViewChild получаете доступ к элементу, например вот так "@ViewChild(li) li: ElementRef" в классе компонента и на своем элементе ставите атрибут "#li". После этого, например в хуке ngAfterViewInit убираете/замещаете/удаляете атрибут "this.li.nativeElement.removeAttribute('title')" - в случае изменения заменяете removeAttribute на setAttribute со значением
    6203c1dca2701356522840.png
    Ответ написан
    Комментировать
  • Как сделать так, чтобы перед запуском сайта - запускался специально сделанный экран загрузки?

    Ahmad66617
    @Ahmad66617
    Senior Fullstack Engineer
    Очень просто - в сети много прелоадеров. В скрипте отслеживайте событие DOMContentLoaded - и сделайте прелоадер видимым сначала по дэфолту, а когда коллбек после полной прогрузки страницы сработает -> прячьте его.
    Ответ написан
    Комментировать
  • Не отрабатывает ngOnInit, хотя элемент отрисовался. В чём может быть дело?

    Ahmad66617
    @Ahmad66617
    Senior Fullstack Engineer
    Посмотрите документацию(https://angular.io/api/core/ChangeDetectorRef) - как работает стратегия обнаружения изменений --> метод detach, когда вручную контролируете обнаружение изменений не блокирует отрисовку(вы написали что контент отобразился) - а отключает обнаружение изменений(например если в компонент летят асинхронные данные - то они отрисованы не будут до команды detectChanges). Хук OnInit срабатывает единоразово только когда детектор изменений в первый раз проверил компонент на изменения - а вы их заблокировали вручную(https://angular.io/api/core/OnInit) - в доках все есть, внимательнее читайте!
    Ответ написан
    1 комментарий
  • Как на Angular сделать отрисовку компонента при скролле?

    Ahmad66617
    @Ahmad66617
    Senior Fullstack Engineer
    Очень просто - отслеживайте скролл через HostListener или как я делал пагинацию со скроллом используйте IntersectionObserver API и при инициализации страницы через *ngIf не показывайте невидимую часть контента. При использовании IntersectionObserver выставьте в верстке прозрачные блоки по пикселю(это обязательно - с нулевой высотой не сработает) между вашими секциями на странице и точно также через *ngIf меняйте флаг при скролле на трушный. А чтобы при перезагрузке оставаться в том же месте в ангуляре надо заюзать хэша в урле и точно также по нимскроллить до того момента где юзер остановился. Тут я даже два способа написал на выбор - но в обоих без структурных директив не обойтись - разница в способах контроля скролла.
    Ответ написан
    Комментировать
  • Как убрать дублирование запросов при поиске?

    Ahmad66617
    @Ahmad66617
    Senior Fullstack Engineer
    649972736f5ba919494465.png
    Очень просто - в чем просчет -> при каждом срабатывании search, предыдущая подписка остается. Либо сделать ее завершение через оператор first(), take(1); либо - как делал я в своих продуктах -> смапить результат после switchMap и выдать его в верстку через async пайп (естественно подписки в методе search не должно быть) или в консоль через tap() оператор
    Ответ написан
    Комментировать