我正在使用https://github.com/DaftMonk/generator-angular-fullstack。
我有2个架构:
当我在console.log中时,当前用户返回
$scope.getCurrentUser = Auth.getCurrentUser();
console.log($scope.getCurrentUser);
但是当我尝试控制日志_id:
时$scope.getCurrentUser = Auth.getCurrentUser();
console.log($scope.getCurrentUser._id);
返回
未定义
有人可以解释我做错了吗?
答案 0 :(得分:4)
Chrome控制台中的对象仅在首次打开时才会被评估。
这意味着当你在console.log中返回一个类似返回值Auth.getCurrentUser()
的对象时,控制台会显示对它的引用 - 这在日志调用时包含一个promise对象,但很可能已经解决了当你在控制台上打开它时,你就会看到你正在寻找的属性。
另一方面,当您记录$scope.getCurrentUser._id
时,这是对promise对象进行属性查找的结果 - 它会打印属性的当前值,即undefined
。< / p>
关于干净代码的注释:你的范围变量叫做getCurrentUser,这让人觉得它是一个getter函数,但实际上它是一个getter函数的返回值。这很令人困惑。