如果这是一个真正的新手问题,我深表歉意:我将使用 AngularJS 和 restangular 作为一个冷启动 - 我正在将一些旧的、面向后端的代码移植到这个花哨的 SPA 和 XHR 新世界中。
无论如何,这真的很简单:我想从我的 API 加载一个对象。我可以通过这种方式相当容易地做到这一点:
App.factory('User', function($cookies, Restangular) {
if (!$cookies.user_id) {
return {name: 'Nobody', userId: -1};
} else {
return Restangular.one('users', $cookies.user_id).get();
}
});
App.controller('ApplicationCtrl', function ($scope, User) {
$scope.user = User;
});
这将(据我了解)让我在需要的地方注入当前用户(如果 cookie 不正确,他们最终会在 API 调用上获得 404 或 401,具体取决于。
我现在遇到的一个简单问题是,当我想在我的模板中访问这个用户对象时,它没有绑定到 {{user}},而是绑定到 {{user.user}},因为我注入了 $scope.user我的用户对象,它是一个 JSON 创建的对象,它是restangular 获取的({"user":{"id":2,"name":"Eric Eslinger","email":"eric.eslinger@gmail.com"}}
如果我想说“你好用户名”,我必须说“你好,{{user.user.name}}”。这是不令人满意的.
欢迎任何关于我在设置对象层次结构时缺少什么的建议;我有一种感觉,我只是错过了一些简单但也很重要的事情,我以后需要担心这些事情。