2017-10-31 8 views
0

変数 "routingActivated"をtrueまたはfalseに設定し、そのボタンのリンクをリンクするボタンがあります(click)その変数が本当であれば別のコンポーネントに渡します。すべてうまくいきますが、次のコンポーネントに移動するには、ボタンを2回クリックする必要があります。どのように再実行するのですか? click(returnsbooleanVAR)関数とrouterlink + boolean VARタイミング付きの角4ボタン

この

はボタンです:

<button (click)="check()" [routerLink]="routingActivated ? ['/enviando']: []" >Continue</button> 

これはvarがtrueまたはfalseにroutingActivated変更チェック機能である

check():void{ 
routingActivated =true/false //depending on a condition 
} 

答えて

2

あなたは直接あなたのコンポーネントにリダイレクトすることができ

import {Router} from '@angular/router'; 

export class InfoComponent { 
    constructor(private router: Router) 

    check():void{ 
     if(routingActivated) { 
      this.router.navigate(['./enviando']); 
     } 
    } 
} 

とあなたのHTMLを簡略化

<button (click)="check()">Continue</button> 
+0

this.router.navigate(['./ enviando'])を追加すると、 プロパティ 'router'がタイプInfoComponentに存在しません – Alex

+0

コンストラクタに追加する必要があります(私の編集を参照してください) – Antikhippe

+0

コンストラクタに追加しました+ルータのインポートを追加しました。問題 "typeof Router"のタイプにプロパティ "navigate"が存在しません – Alex

関連する問題