private login() {
this.http.get(`http://localhost/api/token/${id}`)
.map(res => res.json())
.subscribe(res => {
this.response = res;
if (this.response) {
this.router.navigate(['/']);
} else {
console.log('access denied');
return false;
}
});
}
<p *ngIf="!login()">Wrong password or username</p>
すべてが正しくコンパイルが、私はちょうどアプリケーションを起動すると、無限ループがコンソールにaccess denied
ログの数百を送信することにより開始します。これは信じられない。 <p>
が画面に表示されます。使用* ngIfは、HTTPリクエストで無限ループが発生し
どうしてですか? login
ボタンをクリックするとログイン機能が呼び出されます。私は無限ループを開始するためにそれをクリックする必要はありません。アプリがブラウザに表示されたときに起こります。
'* ngIf'が' * ngFor'ループ内に存在する可能性がありますか? –
@ 5313M私はそんなに仲間だとは思わない –
いくつかのコードをさらに示しています。あなたはログインしているコンポーネントから言及していません。あなたのconsole.log(res)を表示してください。ルーティングファイル。 trueまたはfalseを返さないときに関数を呼び出すと、nullまたはfalseが返される可能性があります。それを真実に変えるでしょう。 –