0

ログイン試行後にFirebaseから受け取った約束を使用して、認証エラーを捕捉して表示しようとしています。 btnsigninが発射される瞬間プロミスからFirebase認証エラーをキャッチ

btnsignin.addEventListener('click', e =>{ 
    const emailaddress = email.value; 
    const passworddetail = password.value; 
    const auth = firebase.auth(); 
    const promise = auth.signInWithEmailAndPassword(emailaddress, passworddetail); 
    **promise.catch(function(e) { 
     $scope.signinchallenges = e.message; 
    }); 
});** 

、認証エラーがもう一度クリックするまで表示されません。これに関するすべての助け?

答えて

0

この問題は、AngularJSがスコープを更新したことを認識していないことが原因です。値を更新している間は、AngularJSはビューを再描画しません。 、更新にそれを知らせる$timeout$applyを使用するには:

$scope.signinchallenges = auth.signInWithEmailAndPassword(emailaddress, passworddetail); 

そして、あなたのビューでからのメッセージをお読みください。

promise.catch(function(e) { 
    $timeout(function(e) { 
    $scope.signinchallenges = e.message; 
    }); 
}) 

また、あなたは、単にスコープへの約束を割り当てることができるかもしれませんthere:

{{signinchallenges.message}} 
+0

ありがとうございました。 – victoroniibukun

+0

私の答えが役に立つなら、その左側のupvoteボタンをクリックしてください。あなたの質問に答えた場合は、チェックマークをクリックしてそれを受け入れます。そうすれば、他の人はあなたが(十分に)助けられたことを知ることができます。 –