Size: a a a

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

2020 February 03

K✔

Kenya-West ✔ in Angular - русскоговорящее сообщество
Smooth Operator
почему не через Observable?)
Нужно, что метод load() всегда возвращал промис
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Andrey Vaydich
ну я сделал уже так форму, но у меня не получается избавиться от лишней вложенности — получается форма в форме, а мне нужно чтобы в отдельном компоненте был только form array
не понял сейчас
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Kenya-West ✔
Нужно, что метод load() всегда возвращал промис
может не нужно?)
источник

AV

Andrey Vaydich in Angular - русскоговорящее сообщество
Smooth Operator
не понял сейчас
Всем привет!

Есть компонент с большой формой. Я хочу кусок этой формы вынести в отдельный компонент.
У меня там поле contract_bindings: FormArray.

getDefaultFormGroupStructure(): FormGroup {
   return this._fb.group({
     ...
     contract_bindings: new FormControl(null),
     ...
   });

я это вынес в отдельный компонент

<app-contract-binding formControlName="contract_bindings"></app-contract-binding>

В том компоненте мне приходится создать еще одну форму. Это влечет за собой лишнюю вложенность. Т.е. в contract_bindings появляется еще один уровень, а не сразу элементы FormArray идут.

Вопрос: как выделить часть основной формы в виде FormArray, чтобы не было лишней вложенности?

я делал по этому примеру

https://stackblitz.com/edit/angular-nested-forms-cva
источник

AV

Andrey Vaydich in Angular - русскоговорящее сообщество
может так попонятнее будет)
источник

K✔

Kenya-West ✔ in Angular - русскоговорящее сообщество
Smooth Operator
может не нужно?)
Не знаю, это согласовывать надо и разрешения спрашивать, мне легче костыль запилить не через Observable
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Kenya-West ✔
Не знаю, это согласовывать надо и разрешения спрашивать, мне легче костыль запилить не через Observable
понятно
источник

B

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

Вот регистрация:
источник

B

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

B

Bretbas in Angular - русскоговорящее сообщество
А вот сам интерсептор
источник

B

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

S

Smooth Operator in Angular - русскоговорящее сообщество
Andrey Vaydich
Всем привет!

Есть компонент с большой формой. Я хочу кусок этой формы вынести в отдельный компонент.
У меня там поле contract_bindings: FormArray.

getDefaultFormGroupStructure(): FormGroup {
   return this._fb.group({
     ...
     contract_bindings: new FormControl(null),
     ...
   });

я это вынес в отдельный компонент

<app-contract-binding formControlName="contract_bindings"></app-contract-binding>

В том компоненте мне приходится создать еще одну форму. Это влечет за собой лишнюю вложенность. Т.е. в contract_bindings появляется еще один уровень, а не сразу элементы FormArray идут.

Вопрос: как выделить часть основной формы в виде FormArray, чтобы не было лишней вложенности?

я делал по этому примеру

https://stackblitz.com/edit/angular-nested-forms-cva
не понимаю)
источник

AV

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

S

Smooth Operator in Angular - русскоговорящее сообщество
Andrey Vaydich
Всем привет!

Есть компонент с большой формой. Я хочу кусок этой формы вынести в отдельный компонент.
У меня там поле contract_bindings: FormArray.

getDefaultFormGroupStructure(): FormGroup {
   return this._fb.group({
     ...
     contract_bindings: new FormControl(null),
     ...
   });

я это вынес в отдельный компонент

<app-contract-binding formControlName="contract_bindings"></app-contract-binding>

В том компоненте мне приходится создать еще одну форму. Это влечет за собой лишнюю вложенность. Т.е. в contract_bindings появляется еще один уровень, а не сразу элементы FormArray идут.

Вопрос: как выделить часть основной формы в виде FormArray, чтобы не было лишней вложенности?

я делал по этому примеру

https://stackblitz.com/edit/angular-nested-forms-cva
>  как делать вложенные формы отдельным компонентом
>> мне приходится создать еще одну форму. Это влечет за собой лишнюю вложенность.
источник

K✔

Kenya-West ✔ in Angular - русскоговорящее сообщество
Kenya-West ✔
Всем привет! Есть сервис, только после отработки которого другие сервисы могут начать работу:


   constructor() { this.load() }
   public load(): Promise<any> {
       return this.http.get(url)
           .toPromise()
           .then(() => {});
   }


Как другие сервисы могут узнать, что этот сервис отработал и получил то, что надо? Не через Observable.
Типа такого запилил:


   public configLoaded = new Observable<boolean>(subscriber => {
       const loaded = this.config ? true : false;
       subscriber.next(loaded);
   });

   constructor(private http: HttpClient) {
       this.load();
   }

   public load(): Promise<any> {
       return this.http.get(url)
           .toPromise()
           .then((config: Config) => {
               this.config = config;
               this.configLoaded.pipe(
                   map(configLoaded => {
                       configLoaded = this.config ? true : false;
                   })
               );
           });
   }



Но что-то не пашет, ConfigLoaded всегда false
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Kenya-West ✔
Типа такого запилил:


   public configLoaded = new Observable<boolean>(subscriber => {
       const loaded = this.config ? true : false;
       subscriber.next(loaded);
   });

   constructor(private http: HttpClient) {
       this.load();
   }

   public load(): Promise<any> {
       return this.http.get(url)
           .toPromise()
           .then((config: Config) => {
               this.config = config;
               this.configLoaded.pipe(
                   map(configLoaded => {
                       configLoaded = this.config ? true : false;
                   })
               );
           });
   }



Но что-то не пашет, ConfigLoaded всегда false
ужас то какой
источник

K✔

Kenya-West ✔ in Angular - русскоговорящее сообщество
Smooth Operator
ужас то какой
Зато load() по-прежнему даёт промис
источник

S

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

B

Bretbas in Angular - русскоговорящее сообщество
Smooth Operator
чет не видно хттп модуля
а он находится в AdminModule, где как раз я сервисы и использую, которые юзают httpClient
источник

B

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