Angular 9: передача параметров из URL вместе с параметрами формы - PullRequest
0 голосов
/ 28 мая 2020

Мне нужно передать параметр URL-адреса, чтобы объединить параметры формы. Я получаю параметры токена из URL-адреса следующим образом:

private initForm(): void {
    this.route.queryParams.subscribe(params => {
      const token = params['token']; // get the token from url
      console.log(token)
    });

    this.formGroup = this.formBuilder.group({
      password: ['', Validators.required],
      password_confirmation: ['', Validators.required],
      reminder: ['', Validators.required]
    });
  }

В моем методе onSubmit он у меня есть:

public onSubmit(event: any): void {

    if (this.formGroup.invalid) {
      return this.formGroup.markAllAsTouched();
    }

    const { password, password_confirmation, reminder } = this.formGroup.value;

    const subscription = this.updatePasswordComponentService
      .updatePassword(password, password_confirmation, reminder)
      .subscribe(result => {
        console.log(result);
        subscription.unsubscribe();
      });
  }

Метод updatePassword

public updatePassword(password: string, password_confirmation: string, reminder: string): Observable<any> {
    return this.httpClient.post(url, {
      password, password_confirmation, reminder
    });
  }

Мне нужно передать такие параметры:

public updatePassword(password: string, password_confirmation: string, reminder: string, token: string): Observable<any> {
    return this.httpClient.post(url, {
      password, password_confirmation, reminder, token
    });
  }

Как я могу включить token вместе password, password_confirmation и reminder?

1 Ответ

2 голосов
/ 28 мая 2020

Вы всегда можете получить queryParams из моментального снимка маршрута, например,

this.updatePasswordComponentService.updatePassword(
    password, 
    password_confirmation, 
    reminder, 
    this.route.snapshot.queryParams.token)

, и передать его как тело запроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...