0

我是 AngularJS 的新手,需要使用 REST API。我可以使用两种不同的方式成功地从服务器加载项目集合,但是我无法通过它的 id 从这个列表中获取一个项目(在它被填充之后)。我不想再次从服务器获取该项目。

当我尝试使用 时angularjs-rails-resource,我可以获取使用的项目列表Project.query()并将其存储在$rootScope.projects. 但是我现在想知道如何通过它的 id 从这个列表中取出一个项目(实际上它不是一个数组而是一个承诺)?

我也尝试过restangular使用$rootScope.projects = Restangular.all("projects").getList()and project = $rootScope.projects.get(id)。但这也失败了,因为它似乎返回一个集合而不是一个项目......?!

4

2 回答 2

0

For angularjs-rails-resource you should be able to just use get(id). It will always return a promise which is fine if you're using it in your template because templates understand promises.

If you don't want a promise, you can use then

Project.get(1234).then(function (project) {
    //project is NOT a promise
    $scope.project = project;
});

rather than

//project is a promise, but you're template is cool with that
$scope.project = Project.get(1234); 
于 2013-10-16T20:39:45.977 回答
0

为了返回单项使用:

$scope.project = Project.get(id: some_id); 
于 2014-09-24T09:51:21.987 回答