2017-09-12 9 views
0

私のコンポーネントには存在しないメソッドにclickイベントをバインドすると、Angularがページをリフレッシュするまで、苦労しました。私はそれがrouterLinkのためだと思う、私はそれを削除すると、それはmethod checkUser() does not existと予想されるエラーが発生します。なぜこれが起こるのですか? a要素に適用角度とルータ - 予期しないページのリフレッシュ

<a md-button 
    routerLink="articles" 
    routerLinkActive="menu-active" 
    (click)="checkUser()" 
    >Articles</a> 
+2

リダイレクトしようとしていますが、機能を呼び出そうとしています。あなたは機能だけを使って同じことをすることはできませんか? –

+2

おそらく、 'checkUser()'の方がルートガードを使うのが良いでしょう。おそらく 'routerLink'が' テキスト 'の中に' text 'を作成していますが、あなたの' preventDefault() 'を確実にするためにあなたの'(click)= "checkUser()" 'が呼び出されます。 –

答えて

0

routerLinkディレクティブは、この要素に応じhref属性を設定します。

クリックすると同じ例外がスローされますが、イベントはまだ泡立ち、デフォルトの動作が実行され、ページの場所が変更されます。これが本当に速くなるので、エラーに気づかないでください。

ページリロード後もコンソールログを保存してみてください。エラーはそこにあるはずです。

関連する問題