Size: a a a

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

2021 May 05

ДМ

Дмитрий Моисеев... in Angular - русскоговорящее сообщество
чище код
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
скорее всего вам не нужно присваивать данные
источник

ДМ

Дмитрий Моисеев... in Angular - русскоговорящее сообщество
делаю рефакторинг легаси, слишком много всего что бы резко так сделать
источник

ДМ

Дмитрий Моисеев... in Angular - русскоговорящее сообщество
с нуля стараюсь вобще без подписок обойтись
источник

AI

Artsiom Ivanov in Angular - русскоговорящее сообщество
покажи весь пример на каких мок данных и что хочешь получить в итоге )
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
ну тогда в целом пофиг где. Хотя в подписке логичнее, подписка как бы относится в текущему контексту, а тап - его могут и в сервис вынести.
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
ну врятли код с тапом чище кода без тапа
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
в том что его меньше - поверю
источник

OP

Oleg P in Angular - русскоговорящее сообщество
У меня есть сторонняя библиотека, написанная на TS.
Я ее использую в Angular приложении.
Задача - заменить все диалоговые окна в библиотеки на matDialog.
Вопрос - как пробросить ангуляровский matDialog в библоитеку - чтобы потом можно было создавать окна?

Библиотека имеет точку входа:

class Library {
  constructor(props: Props) {
    // INIT
 }
}

Не очень хочется пробрасывать все ангуляр зависимости и засорять конструктор библиотеки:

class Library {
  constructor(props: Props, matDialog: MatDialog, eventService: EventService,....N) {
    // INIT
 }
}

Использование:

export function factory(matDialog: MatDialog, eventService: EventService) {
   return new Library(matDialog, eventService);
}

{
           provide: Library,
           useFactory: factory,
           deps: [MatDialog, EventService],
}

Логичнее, конечно - когда я ядре Library создаются все необходимые инстансы в том числе и диалоговые окна. Но как пробросить туда matDialog?, чтобы не писать свой.
Благодарю!
источник

D

Dmitry in Angular - русскоговорящее сообщество
Всем привет. Друзья, кто использует WebStorm, скажите пожалуйста, не замечали того что IDE стала хуже работать с Angular с обновлениями?
источник

🏡K

🏡 ILshat Khamitov in Angular - русскоговорящее сообщество
я делал обертку, у меня не материал был правда, а ionic и ngx-bootstrap, ну может пригодится и там модальные компоненты у каждого по своему создаются и работают

https://github.com/rucken/core/blob/d1cd9e1a7df4f45fd4b9ff7fbdd30d1a361187f6/libs/rucken/core/src/lib/modules/modals/modals.service.ts - типа базовый сервис, который потом подменяется

https://github.com/rucken/core/blob/develop/libs/rucken/web/src/lib/modules/modals/modals.module.ts#L19 - подмена для бутстрап

https://github.com/rucken/ionic/blob/develop/libs/rucken/ionic/src/lib/modules/modals/modals.module.ts#L13 - подмена для ionic
источник

AI

Artsiom Ivanov in Angular - русскоговорящее сообщество
- вроде норм пробросить в конструктор, только пусть библиотека опишет свои интерфейсы для зависимостей
- мб сделать какой event bus, пусть библиотека имитит все интересные события, а в ангуляре можно подписаться на интересующие события как открытие модалки
источник

R

Rus in Angular - русскоговорящее сообщество
народ у меня очень интересная ситуация. Объясните пж почему так. У меня на странице прорисовываются динамически несколько таблиц. Я передаю кое какие данные с одного компонента через сервис behaviorSubject , от которых зависит количество таблиц на странице. И если я передаю данные которые кол-во таблиц не меняют то все ок. а если меняют то данные не передаются. Инициализацию подписки делал в ngOnInit. делал многое что но не помогло но после того как подписку оформил в ngAfterViewChecked все заработало. Подскажите почему так?
источник

КВ

Кирилл Валиков... in Angular - русскоговорящее сообщество
прям subscribe в afterviewchecked?) и без отписки наверное?
источник

AI

Artsiom Ivanov in Angular - русскоговорящее сообщество
Мб пересоздавали каждый раз сабжект? Тогда при каждом изменении AfterViewChecked срабатывало и подписывались на новый сабжект ?

У кого гадальный шар мощнее, какие ещё идеи?
источник

R

Rus in Angular - русскоговорящее сообщество
ситуация такая что в таблицах в которых произошла ошибка остаются а нормальные уходят со страницы и меняется колво таблиц.
источник

R

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

OP

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

OP

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

ВК

Владислав Кузнецов... in Angular - русскоговорящее сообщество
Всем привет! есть какой то способ склонять дни, часы, месяцы в ангуляр, мб через DatePipe? (например 2 часа - 7 часов)
источник