javascript - Angular-Fullstack 获取当前用户

标签 javascript angularjs yeoman angular-fullstack

我无法获取 Controller 中的当前用户 ID。我有这个:

controller.js:

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

但是,如果我在 html 中打印:

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

我完美地得到了用户 ID。

为什么会出现这种情况?如何获取 Controller 中的用户 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 {};
          });
        }

最佳答案

只需访问,

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

演示

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

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

关于javascript - Angular-Fullstack 获取当前用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45130754/

相关文章:

javascript - .vue 文件中未定义的属性或方法

angularjs - AngularJS Controller 或指令中的 Jquery 动画?

node.js - generator-karma 不满足其 sibling 的 peerDependencies 要求

node.js - 测试 Grunt 任务

javascript - 为什么 fullstack-angular 生成器使用 Lo-Dash 的合并而不是 document.set?

gruntjs - Grunt usemin 任务没有正确更新嵌套的相对路径

javascript - 测试 React 中的点击事件是否会更新 HTML

javascript - 删除 Node 后使用 escodegen 生成代码时出错

javascript - 单击按钮获取变量输入值

javascript - 如何将 HTML 添加到图表元素