2016-10-11 8 views
0

例外がスローされた後にユーザーにメッセージが表示される問題があります。 私がやっていることは、知識のないユーザーとしてログインしようとしていることです。その場合のサーバは私に401とメッセージを返します「間違ったユーザ名とパスワードの組み合わせを」私のコントローラでAngularJsのユーザーページにエラーメッセージが表示されない

私はこれを予備成形しています:

class LoginOnlineUserController { 
    constructor($state, AuthenticationService, LoginOnlineUserService) { 
     this.$state = $state; 
     this.AuthenticationService = AuthenticationService; 
     this.LoginOnlineUserService = LoginOnlineUserService; 

     this.username = null; 
     this.password = null; 
    } 

    login() { 
     let self = this; 

     this.LoginOnlineUserService.login({ 
      username: this.username, 
      password: this.password 
     }).then(function(data) { 
      self.AuthenticationService.login(data.jwtToken); 

      if(self.AuthenticationService.isAuthenticated()) { 
       self.$state.go("hrTesting"); 
      } 
     }).catch(function(msg) { 
      //alert(msg.data); 
      self.error = msg.data; 
     }); 
    } 
} 

export default LoginOnlineUserController; 

機能isAuthenticated()が良く、予め形成され、トークンが与えるよりも、応答したものである場合そのトークンをユーザーに送ります。 catchブロックに移動してクライアントページにメッセージを書き込むよりも例外が発生した場合。

<div ng-if="self.error" class="alert alert-danger">{{self.error}}</div> 

しかし、メッセージが表示されることはありません:私はNG-場合は、このために使用してい

。私は例外からメッセージを警告しようとすると、私はそれをはっきりと見ることができますが、エラーメッセージはユーザページに存在しません。 誰かが私がここで間違ってやっていることを見ていますか?

答えて

0

コントローラをバインドしていますか?ng-controller="MyCtrl as self"ですか?それはテンプレートの内部を使用するために重要です。

関連する問題