Size: a a a

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

2020 March 02

AE

Argument Exception in Angular - русскоговорящее сообщество
в трудный час
источник

ИМ

Иван Мелентьев... in Angular - русскоговорящее сообщество
хм, тут я юзаю ng if, а там мне придется создать интерфейс + еще как-то обработать результат ассинхронного получения, тем самым наверное придется создать еще одну Observable переменную и поменять в шаблоне вывод на неё
источник

ИМ

Иван Мелентьев... in Angular - русскоговорящее сообщество
ради функции, которая проверяет есть ли в строке хоть один символ Ъ
источник

AM

Andrii Manzhula in Angular - русскоговорящее сообщество
Иван Мелентьев
ради функции, которая проверяет есть ли в строке хоть один символ Ъ
источник

AK

Aleksandr Khaydarshi... in Angular - русскоговорящее сообщество
Я хочу динамически создавать однотипные компоненты по конфигу через некий сервис-фабрику.
Для этого у меня в сервисе есть следующая функция:
private createToastInstance(config: ToastConfig) {
 const toastFactory = this.cfr.resolveComponentFactory(ToastComponent);
 const toastComponentRef = toastFactory.create(this.injector);

 toastComponentRef.instance.config = config;
 toastComponentRef.changeDetectorRef.detectChanges();

 return toastComponentRef.componentType;
}


В компоненте-враппере над динамически созданными тостами я хочу отображать их следующим образом:
ng-container(*ngFor="let toast of toasts$ | async»)
 ng-container(*ngComponentOutlet="toast»).


Проблема в том, что компонент, созданный сервисом, не имеет внутри себя доступа к переданному config. Если добавлять в нем вызов консоли в хуке ngAfterViewInit, то видно, что хук вызывается дважды и первый раз в нем есть config, а потом нет (undefined).

Можно ли это исправить или подход через ngComponentOutlet не подразумевает прокидывание данных в инстанс?
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
Aleksandr Khaydarshin
Я хочу динамически создавать однотипные компоненты по конфигу через некий сервис-фабрику.
Для этого у меня в сервисе есть следующая функция:
private createToastInstance(config: ToastConfig) {
 const toastFactory = this.cfr.resolveComponentFactory(ToastComponent);
 const toastComponentRef = toastFactory.create(this.injector);

 toastComponentRef.instance.config = config;
 toastComponentRef.changeDetectorRef.detectChanges();

 return toastComponentRef.componentType;
}


В компоненте-враппере над динамически созданными тостами я хочу отображать их следующим образом:
ng-container(*ngFor="let toast of toasts$ | async»)
 ng-container(*ngComponentOutlet="toast»).


Проблема в том, что компонент, созданный сервисом, не имеет внутри себя доступа к переданному config. Если добавлять в нем вызов консоли в хуке ngAfterViewInit, то видно, что хук вызывается дважды и первый раз в нем есть config, а потом нет (undefined).

Можно ли это исправить или подход через ngComponentOutlet не подразумевает прокидывание данных в инстанс?
Вы можете использовать ngxComponentOutlet вместо ngComponentOutlet, который позаботится о прокидывании инпутов и аутпутов за вас.

https://t.me/angular_fox/271
https://github.com/IndigoSoft/ngxd
https://stackblitz.com/edit/angular-simple-dynamic
источник

С

Степан in Angular - русскоговорящее сообщество
🧤 Andrei Kapytau
Мне тут подсказали опытные коллеги,  что есть ещё новое, от автора пюпитира, plawright. Вот пресет https://github.com/mmarkelov/jest-playwright/blob/master/README.md
Сомневаюсь, что целесообразно использовать мало известную тулзу для e2e
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
👍🏻
источник

AK

Aleksandr Khaydarshi... in Angular - русскоговорящее сообщество
Вертихвост キバ 🏡🦊
Вы можете использовать ngxComponentOutlet вместо ngComponentOutlet, который позаботится о прокидывании инпутов и аутпутов за вас.

https://t.me/angular_fox/271
https://github.com/IndigoSoft/ngxd
https://stackblitz.com/edit/angular-simple-dynamic
Спасибо, уже смотрел сегодня) Но все равно не могу достать данные, прокинутые в инстанс компонента. Возможно, делаю что-то не так, и надо это через контекст делать. Но код, приведенный выше, не работает
источник

Вキ

Вертихвост キバ 🏡🦊... in Angular - русскоговорящее сообщество
Aleksandr Khaydarshin
Спасибо, уже смотрел сегодня) Но все равно не могу достать данные, прокинутые в инстанс компонента. Возможно, делаю что-то не так, и надо это через контекст делать. Но код, приведенный выше, не работает
Можете повторить проблему на stackblitz? Вместе посмотрим ошибку :)
источник

AK

Aleksandr Khaydarshi... in Angular - русскоговорящее сообщество
Постараюсь воспроизвести, через часик примерно) Либо завтра отпишусь сюда с примером в гите
источник

PL

Pavel Leskovets in Angular - русскоговорящее сообщество
всем привет. Есть инпут, по вводу в который идет запрос на сервер, я добавил таймер, чтобы пока пользователь печатает, запросы не уходили, но проблема в том, что все события накапливаются, и потом всё равно все выполняются. Как можно сделать так, чтобы уходил запрос только с последним значением из инпута, после того как пользователь перестал вводить данные?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Pavel Leskovets
всем привет. Есть инпут, по вводу в который идет запрос на сервер, я добавил таймер, чтобы пока пользователь печатает, запросы не уходили, но проблема в том, что все события накапливаются, и потом всё равно все выполняются. Как можно сделать так, чтобы уходил запрос только с последним значением из инпута, после того как пользователь перестал вводить данные?
debounceTime
источник

🧤K

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

PL

Pavel Leskovets in Angular - русскоговорящее сообщество
Smooth Operator
debounceTime
я могу это в интерсепторе сделать? или нужно именно событие инпута обработать таким образом?
источник

🧤K

🧤 Andrei Kapytau in Angular - русскоговорящее сообщество
Степан
Сомневаюсь, что целесообразно использовать мало известную тулзу для e2e
Даже звёздочек на гитхабе больше чем у протрактора))
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Pavel Leskovets
я могу это в интерсепторе сделать? или нужно именно событие инпута обработать таким образом?
событие инпута
источник

PL

Pavel Leskovets in Angular - русскоговорящее сообщество
Smooth Operator
событие инпута
ок, спасибо)
источник

И

Илья | 😶 ☮️... in Angular - русскоговорящее сообщество
Ку
Сталкивался кто-то с тем, что mat-progress-bar не рендерится в модальном окне, если оно открывается после перехода по странице ?
(Изначально открывает как и должно)
источник

E

Evgeniy in Angular - русскоговорящее сообщество
Всем привет!
Есть задача встроить сайт в angular приложение. Подскажите с чего начать гугление
источник