Почему параметр не передается в угловых? - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь передать параметр в резольвере по нажатию кнопки. Но я получаю ошибку ошибка

ERROR
Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'next'
Error: Cannot match any routes. URL Segment: 'next'
at ApplyRedirects.noMatchError (https://angular-sxurk5.stackblitz.io/turbo_modules/@angular/router@6.0.0/bundles/router.umd.js:1422:16)
at CatchSubsc

проходной параметр, как это

 sclick(e){
    e.preventDefault();
    console.log(this.sfrm.value.name);

    this.router.navigate(['next/'],{ queryParams: { value: this.sfrm.value.name} });

    }

с использованием такого параметра

@Injectable()
export class TestResolver implements Resolve<Observable<string>> {
  constructor(private testService: TestService) {}

  resolve(route: ActivatedRouteSnapshot): Observable<any> {
    // id = 1

    return this.testService.getConfiguration(route.params.value);
  }
}

весь код

https://stackblitz.com/edit/angular-sxurk5?file=src%2Fapp%2Fhello.component.ts

когда я нажимаю на кнопку submit, отображается сообщение об ошибке, почему?

1 Ответ

0 голосов
/ 29 августа 2018

Необходимо настроить маршрут next, а не только маршрут next/:value.

const routes: Routes = [
  { path: 'home', component: HelloComponent },
  { path: 'next', component: NextComponent, resolve: { data: TestResolver} },
  { path: '', redirectTo: '/home', pathMatch: 'full'}
];

В TestResolver.ts используйте queryParams вместо params

resolve(route: ActivatedRouteSnapshot): Observable<any> {
  console.log('dd',route.queryParams.value)
  return this.testService.getConfiguration(route.queryParams.value);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...