2017-07-16 4 views
1

コントローラで現在のユーザーIDを取得できません。私はHTMLで印刷する場合、Angular-Fullstack現在のユーザーを取得

constructor(Auth) { 
    this.getCurrentUser = Auth.getCurrentUserSync; 
    // console.log(this.getCurrentUser()._id) returns undefined 
    } 

:しかし

p {{ctrl.getCurrentUser()._id}} 

を、私は完全にユーザーIDを取得

controller.js:私はこれを持っています。

なぜこれが起こっていますか?コントローラーでユーザーIDを取得するにはどうすればよいですか?

EDIT:

Auth.getCurrentUser()関数は次のようになります。

function getCurrentUser(callback) { 
      var value = _.get(currentUser, '$promise') ? currentUser.$promise : currentUser; 

      return $q.when(value).then(function (user) { 
      safeCb(callback)(user); 
      return user; 
      }, function() { 
      safeCb(callback)({}); 
      return {}; 
      }); 
     } 

答えて

0

だけのアクセスのような、

console.log($$state.value.data._id); 

DEMO

var userinfo = { $$state: { 
 
    status: 1, 
 
    value: {    
 
      data: { 
 
      __v: 0, 
 
      _id: "596b33283055cd0f2442cd85"    
 
      }    
 
     } 
 
    } 
 
} 
 

 
console.log(userinfo.$$state.value.data._id);

+0

しかし、現在のユーザーIDを取得する最もよい方法はありますか?私はそれがより簡単にできると思った... – nash

+0

はい、そのオブジェクトは、これはあなたがアクセスする方法です – Sajeetharan

+0

申し訳ありませんが、私は 'エラー:userinfo。$$ state.valueは未定義です。つまり、Angular-FullstackはgetCurrentUser関数を提供します。ユーザーのデータを簡単に返すはずです。そうではありませんか?それが実際にどのように動作しているのか分かりません... – nash

関連する問題