Size: a a a

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

2021 March 04

YK

Yehór Kashperskyi in Angular - русскоговорящее сообщество
Пхахаха
источник

YK

Yehór Kashperskyi in Angular - русскоговорящее сообщество
Smooth Operator
ngrx не нужен)
Плюсую
источник

IE

Igor' Ember in Angular - русскоговорящее сообщество
Я в ngOnInit  подписываюсь на http запрос, получаю ответ в виде массива строк (количество в массиве разное каждый раз). Из него нужно сделать массив контролов, но не работает. Для того, чтобы  new formArray прописать, требуется получить значения, который приходят не сразу, но чтобы в тимлпейте не было ошибок, требуется сразу прописать набор контрол внутри FormArray. Как вы организуете код, когда требуется массив контролов неопределённой заранее длинны организовать (вложенный в основной форме)?
источник

VS

Vladimir Shabalin in Angular - русскоговорящее сообщество
Pavel Makhanko
Может есть у кого готовое решение для ансабскрайба в компонентах? К примеру кастомный декоратор. А то везде писать onDesteroy, takeUntil и тд немного надоедает
1) подписываться через | async на view по возможности
2) сделать абстрактый класс для компонентов, в котором объявить subject и ngOnDestroy c завершением это subject`а, а в pipe детей юзать этот subject в takeUntil
источник

АФ

Андрей Фастовский... in Angular - русскоговорящее сообщество
Pavel Makhanko
Может есть у кого готовое решение для ансабскрайба в компонентах? К примеру кастомный декоратор. А то везде писать onDesteroy, takeUntil и тд немного надоедает
https://www.npmjs.com/package/@ngneat/until-destroy

Но лучше в темплейте подписывайтесь async пайпом или его pure аналогами (лучше именно ими)
источник

АФ

Андрей Фастовский... in Angular - русскоговорящее сообщество
Igor' Ember
Я в ngOnInit  подписываюсь на http запрос, получаю ответ в виде массива строк (количество в массиве разное каждый раз). Из него нужно сделать массив контролов, но не работает. Для того, чтобы  new formArray прописать, требуется получить значения, который приходят не сразу, но чтобы в тимлпейте не было ошибок, требуется сразу прописать набор контрол внутри FormArray. Как вы организуете код, когда требуется массив контролов неопределённой заранее длинны организовать (вложенный в основной форме)?
зависит от сценария и дизайна, ngIf на нужную формгруппу как вариант
источник

IE

Igor' Ember in Angular - русскоговорящее сообщество
Андрей Фастовский
зависит от сценария и дизайна, ngIf на нужную формгруппу как вариант
Можете посоветовать где можно почитать о стратегия на такие и похожие случаи? 👀🙈
источник

АФ

Андрей Фастовский... in Angular - русскоговорящее сообщество
Igor' Ember
Можете посоветовать где можно почитать о стратегия на такие и похожие случаи? 👀🙈
хорошей статьи на эту тему точно не порекомендую, так что лучше не буду=)
источник

АА

Александр Александр... in Angular - русскоговорящее сообщество
Подскажите пожалуйста как сделать в Decimal Pipe так, чтобы у меня не выводились нули? Типа 15.00 у меня сейчас, если я пишу  | number : '1.2-2', а хочется чтобы если там нули, то отображалось просто 15
источник

ЕУ

Евгений Удалов... in Angular - русскоговорящее сообщество
number : '1.0-2' что выведет?
источник

АА

Александр Александр... in Angular - русскоговорящее сообщество
Евгений Удалов
number : '1.0-2' что выведет?
Помогло, спасибо!
источник

AT

Alexey Tuychiev in Angular - русскоговорящее сообщество
Igor' Ember
Я в ngOnInit  подписываюсь на http запрос, получаю ответ в виде массива строк (количество в массиве разное каждый раз). Из него нужно сделать массив контролов, но не работает. Для того, чтобы  new formArray прописать, требуется получить значения, который приходят не сразу, но чтобы в тимлпейте не было ошибок, требуется сразу прописать набор контрол внутри FormArray. Как вы организуете код, когда требуется массив контролов неопределённой заранее длинны организовать (вложенный в основной форме)?
Как вариант заранее создаете форму с FormArray, а потом пушите контролы

export class SomeComponent {
 form = this.builder.group(
     {
       name: null,
       arrayOfControls: this.builder.array([])
     }
   );

 arrayOfControls = this.form.get('arrayOfControls') as FormArray;

 ngOnInit() {
   request().subscribe(strings => {
     strings.forEach(string => {
       const control = new FormControl(string, Validators.required);
       this.arrayOfControls.push(control);
     });
   })
 }
}
источник

IE

Igor' Ember in Angular - русскоговорящее сообщество
А можно передать массив контролов через  formArrayName в компонент, который имплементирует controlValueAccessor ?
источник

AT

Alexey Tuychiev in Angular - русскоговорящее сообщество
Igor' Ember
А можно передать массив контролов через  formArrayName в компонент, который имплементирует controlValueAccessor ?
Нет эта директива принимает string|number. Можете внутри их создать в writeValue и заполнить FormArray, если вы это имеете ввиду конечно.
источник

DA

Dariga Abdikarimova in Angular - русскоговорящее сообщество
Здравствуйте! Компонент,который открылся с помощью роутера,в нем можно использовать routerLink из того же routing файла?
источник

AT

Alexey Tuychiev in Angular - русскоговорящее сообщество
Dariga Abdikarimova
Здравствуйте! Компонент,который открылся с помощью роутера,в нем можно использовать routerLink из того же routing файла?
Да, любой валидный роут можете использовать
источник

DA

Dariga Abdikarimova in Angular - русскоговорящее сообщество
Alexey Tuychiev
Да, любой валидный роут можете использовать
когда я пишу routerlink , она уже не нажимается как ссылка, в чем может быть причина?
источник

ЕУ

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

DA

Dariga Abdikarimova in Angular - русскоговорящее сообщество
Евгений Удалов
а как нажимается?
просто текст,хотя <a routerLink="">
источник

ЕУ

Евгений Удалов... in Angular - русскоговорящее сообщество
Dariga Abdikarimova
просто текст,хотя <a routerLink="">
в стакблиц бы все это посмотреть
источник