Size: a a a

Angular - русскоговорящее сообщество

2021 April 20

OP

Oleg P in Angular - русскоговорящее сообщество
11 версия
источник

ЕУ

Евгений Удалов... in Angular - русскоговорящее сообщество
да, если в общем модуле не импортирован
источник

OP

Oleg P in Angular - русскоговорящее сообщество
именно в общем - а не в корневом app.module
источник

ЕУ

Евгений Удалов... in Angular - русскоговорящее сообщество
вообще, по хорошему, в модуль надо импортить только то, что ему нужно. в каждый
источник

ЕУ

Евгений Удалов... in Angular - русскоговорящее сообщество
а общий модуль импортит уже эти модули
источник

В

Владимир in Angular - русскоговорящее сообщество
коммон модуль предоставляет доступ к базовым директивам и пайпам, если в каком-то модуле есть компонент в котором используется *ngIf например, то в этот модуль должен быть импортирован common модуль. Импортировать его глобально в приложение - бессмысленно.
источник

OP

Oleg P in Angular - русскоговорящее сообщество
я об этом знаю - просто подумало что в 11 версии наконец его вынесли
источник

В

Владимир in Angular - русскоговорящее сообщество
абсолютно та же логика, что и с материал модулями. Нужна в компоненте кнопка - импортируем MatButtonModule в модуль компонента. Надо в соседнем - импортируем и в него. В третий не надо - туда не импортируем
источник

В

Владимир in Angular - русскоговорящее сообщество
что значит "наконец-то вынесли"? Сделали глобальным??? А нахрена?
источник

В

Владимир in Angular - русскоговорящее сообщество
не хочешь импортировать в каждый отдельный - запили себе shared.module, свали в него все и таскай этот кирпич с казино и блекджеком по всему приложению, коль ресурсов и пользователя не жалко)))
источник

OP

Oleg P in Angular - русскоговорящее сообщество
ну да - целиком такой огромный модуль грузить нет смысла если из него мало что исспользуется
источник

В

Владимир in Angular - русскоговорящее сообщество
вообще не вижу проблемы в импорте коммон))) при создании модуля - первым делом его пришибаешь, если понадобится -  он автоматом импортнется вновь при первом обращении к нужному функционалу
источник

Л

Лиза in Angular - русскоговорящее сообщество
Добрый вечер
Нужно загрузить с сервера значения с пагинацией и фильтрацией, использую для этого combineLatest, выглядит сейчас это так:
this.page$ = combineLatest([this.findModel$, this.queryParams$]).pipe(
     debounceTime(300),
     map(([findModel, params]) => {
       const { pageSize, pageIndex, sort, filter } = params;
       const currentSort = sort.find(item => item.value !== null);
       const sortField = (currentSort && currentSort.key) || null;
       const sortOrder = (currentSort && currentSort.value) || null;
       const desc = (sortOrder && sortOrder == 'descend') || false;

       return {
         dictionaryId: null,
         dictionaryName: findModel.dictionaryName,
         id: null,
         parentId: null,
         useParent: findModel.useParent,
         value: null,

         pageIndex: pageIndex - 1,
         pageSize: pageSize,
         orderBy: sortField,
         orderDescending: desc
       }
     }),
     switchMap(query => this._dictionaryService.findValues(query)),
   );
Дальше подписываюсь на page$ и данные отображаются в таблице.
Но есть проблема, combineLatest отрабатывает только после того, как будут внесены изменения в один из входящих объектов. Если после подписи на page$ вызывать findModel$.next(...) - отрабатывает вызов к серверу несколько раз и каждый вызов pageIndex уменьшается на единицу. В первый раз pageIndex 0, а после него идет вызов с pageIndex -1 и естественно летит ошибка. Не могу понять что делаю не так(((
источник

Л

Лиза in Angular - русскоговорящее сообщество
загрузку делаю в таком виде, т.к. findModel используется для фильтрации объектов по value, который вводится в строке поиска
источник

ЕУ

Евгений Удалов... in Angular - русскоговорящее сообщество
startWith?
источник

Л

Лиза in Angular - русскоговорящее сообщество
да я вот чет не нашла как его правильно заюзать
источник

Л

Лиза in Angular - русскоговорящее сообщество
можешь подсказать?
источник

ЕУ

Евгений Удалов... in Angular - русскоговорящее сообщество
посмотри, какой из потоков у тебя не стартует и стартани его дефолтным значением
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Такая ситуация. Замечали как у гугл мапс дизейблится зум на ctrl+колесико ?
Каким боком оно работает вообще?
В первую очередь добавил:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
После пытался превентнуть события (скрин)
Если хоткеи типа ctrl +, ctr - и т.д. оно успешно отключает, то с колёсиком нифига - хотя консол лог срабатывает, но зум оно не дизейблит
Перерыл кучу ссылок, статей, в большей части дальше мета тега не заходят,а в других на jquery тоже самое что я выше сделал с помощью HostListener'a

Может кому знакома данная проблема?

Было подозрение что дело в браузере, но гугл мапс же работает у меня с мазиллы с такой фичей

Хоткеи верну что-бы прям совсем доступность не убивать, но на колёсико бы убрать это хотелось
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Мб перехватить именно над конкретным элементом и сделать stopPropagation + preventDefault?
источник