1

私はHomePageComponentとStudentsViewComponentの2つのコンポーネントを持っています。 HomePageComponentで私はinputタグがあります。angle2を使用して入力値を別のルートに渡す方法は?

<input type="text" #careerObj class="modules" placeholder="Career Objective (software engineer)"> 
 
<button class="submit" routerLinkActive="active" [routerLink]="['/students', careerObj.value ]">Search</button>

を、私はのparamsを使用してstudentsViewComponentに、この入力の値を渡したいです。

正しいルートにリダイレクトされますが、パラメータは空です。値は常に空であり、なぜわからないのですか。

は、ここに私のルートです:

{ 
 
    path: 'students/:searchQuery', 
 
    component: StudentsViewComponent 
 
    },

ngOnInit() { 
 
    this.activatedRoute.params.subscribe((params: Params) => { 
 
    console.log(params); 
 
    }); 
 
}

paramは空である理由がわかりません。

あなたはリンク・ディレクティブは、おそらく1を公式モデル結合方法のrouterlinkを使用するルータに値を渡すための要素の参照を使用している私はgithubの二つ目に、最後に見たように、ボタンの種類の問題を持っているすべてのrouterlinkディレクティブの

+0

を注入することを忘れてはいけませんさ。私はあなたの例を再現し、それは動作します... 'Select(val:string){this.router.navigate(['/ ad /' + val]);を使用してコンポーネントからルートを変更しようとしました。 } '問題を見つけるには – Brivvirs

+0

リダイレクト後にURLにクエリが表示されますか? –

+0

リダイレクトするとエラーはありませんが、クエリーは空です。 '' "@BabarBilal – DingDong

答えて

2

ファーストを助けてくださいそれらの問題が発生しています。 、これを試してみてください

<input type="text" [(ngModel)]="route" class="modules" placeholder="Career Objective (software engineer)"> 
<button class="submit" routerLinkActive="active" [routerLink]="['/students', route]">Search</button> 

それとも

<input type="text" [(ngModel)]="route" class="modules" placeholder="Career Objective (software engineer)"> 
<button class="submit" (click)="navigate()">Search</button> 

と、この機能を使用するコンポーネント

navigate(){ 
this.router.navigate(["students", this.route]); 
} 

は、あなたの提供のコード例では何も問題はありませんルータ

+0

ありがとうございました。あなたは正しかった、 '[(ngModel)]はそのトリックをやった! – DingDong

関連する問題