Size: a a a

2020 August 18

OP

Oleg Pavl in Angular Kyiv
Alex Okrushko
name: new FormControl('', Validators.required), тоже можно
Я так нахардкодил)
this.androidFieldList.forEach(field => this.form.addControl(field, this.fb.control(null)));
источник

OP

Oleg Pavl in Angular Kyiv
Народ, а как можно заререндерить компонент? Есть таблица, жму кнопку удалить, данные обновляются внутри компонента, а вьюха старая( Как это можно победить?
источник

MY

Mike Yaschenko in Angular Kyiv
Oleg Pavl
Мне нужно было именно контроллеры добавить в форму) Оказывается у формы есть метод add() ))
Ну что спрошено “Вот как то бы так же здесь к каждому полю
валидатор пустой
прикрутить:” то и писал))
источник

OP

Oleg Pavl in Angular Kyiv
Mike Yaschenko
Ну что спрошено “Вот как то бы так же здесь к каждому полю
валидатор пустой
прикрутить:” то и писал))
Ну да, есть у меня проблемы с мыслеизложением))
источник

MY

Mike Yaschenko in Angular Kyiv
Oleg Pavl
Народ, а как можно заререндерить компонент? Есть таблица, жму кнопку удалить, данные обновляются внутри компонента, а вьюха старая( Как это можно победить?
Стратегия OnPush?
источник

OP

Oleg Pavl in Angular Kyiv
Mike Yaschenko
Стратегия OnPush?
Это как?
источник

MY

Mike Yaschenko in Angular Kyiv
Oleg Pavl
Это как?
changeDetection: ChangeDetectionStrategy.OnPush,
источник

ОС

Олександр Савуловськ... in Angular Kyiv
Привет, всем. Помогите с организацией кода.
Задача: при изменении календаря получать новые данные по сотруднику.
Сделал сервис синглтон.
В нем написал:
  private userPermissionSubject = new BehaviorSubject<Array<string>>({} as Array<string>);
   userPermission = this.userPermissionSubject.asObservable().pipe(distinctUntilChanged());

   setDateCalendar() {
       this.api.post(q)
           .pipe(
               filter(data => data.code == 200),
               map(data => data.response)
           )
           .subscribe(data => this.userPermissionSubject.next(data));
   }
Потом буду подписываться на userPermission в нужных мне компонентах. Читал, что в сервисах, лучше не подписываться, тем более если синглтон. В связи чем и вопрос. Буду благодарен за любую подсказку.
источник

OP

Oleg Pavl in Angular Kyiv
Mike Yaschenko
changeDetection: ChangeDetectionStrategy.OnPush,
Можешь ссылку скинуть? Чет не могу понять.
источник

MY

Mike Yaschenko in Angular Kyiv
Oleg Pavl
Можешь ссылку скинуть? Чет не могу понять.
https://angular.io/guide/lifecycle-hooks#using-change-detection-hooks
Но если если о таком не слыхал возможно и не используется. По этому надо смотреть код почему не обновляет
источник

DD

Dima Demekha in Angular Kyiv
Oleg Pavl
Народ, а как можно заререндерить компонент? Есть таблица, жму кнопку удалить, данные обновляются внутри компонента, а вьюха старая( Как это можно победить?
возможно ссылка на массив старая остается
источник

DD

Dima Demekha in Angular Kyiv
код сбрось
источник

DD

Dima Demekha in Angular Kyiv
вижу, сорян )
источник

DD

Dima Demekha in Angular Kyiv
после того как удалил элемент из массива попробуй сделать вот так
this.array = […this.array];
источник

OP

Oleg Pavl in Angular Kyiv
Mike Yaschenko
https://angular.io/guide/lifecycle-hooks#using-change-detection-hooks
Но если если о таком не слыхал возможно и не используется. По этому надо смотреть код почему не обновляет
Не могу понять как его к коду примудрить. Я в ангуляре совсем зеленый.
источник

OP

Oleg Pavl in Angular Kyiv
Dima Demekha
после того как удалил элемент из массива попробуй сделать вот так
this.array = […this.array];
Так и делаю. По вызову функции удаления и запроса на сервер, дергаю другую функцию, которая данные обновляет выполняя отдельный запрос.
источник

DD

Dima Demekha in Angular Kyiv
было бы не плохо сам код увидеть
источник

OP

Oleg Pavl in Angular Kyiv
Dima Demekha
было бы не плохо сам код увидеть
delete(id: number): void {
   if (this.isAndroid) {
     this.androidService.deleteAccount(id).subscribe();
     this.refreshAccountList();
   } else {
     this.iosService.deleteAccount(id).subscribe();
     this.refreshAccountList();
   }
 }
источник

OP

Oleg Pavl in Angular Kyiv
refreshAccountList(): void {
   if (this.isAndroid) {
     this.androidService.getPage(this.accountCriteria).subscribe(data =>
     { this.accountList = data;
       this.isNoData = this.accountList.length <= 0;
       this.refreshTableData();
     });
   } else {
     this.iosService.getPage(this.accountCriteria).subscribe(data =>
     { this.accountList = data;
       this.isNoData = this.accountList.length <= 0;
       this.refreshTableData();
     });
   }
 }
источник

DD

Dima Demekha in Angular Kyiv
ты обновляешь список в процессе выполнения запроса на удаление
источник