2016-10-11 85 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塊並在客戶端頁面上寫入消息。

我使用NG-如果此:

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

但郵件永遠不會顯示。當我嘗試提醒異常消息時,我可以清楚地看到它,但在用戶頁面上不存在錯誤消息。 有人看到我在這裏做錯了嗎?

回答

0

你確定,你綁定你的控制器,如ng-controller="MyCtrl as self"?這對於在模板中使用至關重要。

相關問題