我是AngularJS的新手,需要使用REST API。我可以使用两种不同的方式从服务器成功加载项目集合,但是我无法通过其id从该列表中获取单个项目(在填充之后)。我不想再从服务器上获取该项目。
当我尝试使用angularjs-rails-resource
时,我可以使用Project.query()
获取项目列表并将其存储在$rootScope.projects
中。但是我现在想知道如何通过它的id从这个列表中获取一个项目(实际上它不是一个数组而是一个承诺)?
我还尝试使用restangular
和$rootScope.projects = Restangular.all("projects").getList()
project = $rootScope.projects.get(id)
。但这也失败了,因为它似乎返回了一个集合而不是单个项目......?!
答案 0 :(得分:0)
对于angularjs-rails-resource
,您应该只能使用get(id)
。如果您在模板中使用它,它将始终返回一个很好的承诺,因为模板可以理解承诺。
如果您不想要承诺,可以使用then
Project.get(1234).then(function (project) {
//project is NOT a promise
$scope.project = project;
});
而不是
//project is a promise, but you're template is cool with that
$scope.project = Project.get(1234);
答案 1 :(得分:0)
为了返回单项使用:
$scope.project = Project.get(id: some_id);