2017-07-16 102 views
1

我无法获取控制器中的当前用户标识。我有这样的:Angular-Fullstack获取当前用户

controller.js:

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

但是,如果我在HTML打印:

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

我得到完美的用户ID。

这是怎么发生的?我如何获得控制器中的用户ID?

编辑:

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

但是,获取当前用户标识的最佳方式是?我认为这可能会更容易... – nash

+0

是的,如果它的一个对象,这是你如何访问 – Sajeetharan

+0

对不起,访问像我得到的'错误︰userinfo。$$ state.value是未定义'。我的意思是,Angular-Fullstack为您提供了getCurrentUser函数,它应该很容易地返回用户数据,不是吗?不知道它是如何工作的... – nash