Angular JS通过$ routeparams中的id获取对象

时间:2015-03-06 14:48:19

标签: angularjs

我想使用$ routeparams从服务器通过ID检索对象。

我的问题是$ routeparams只能访问" slug"该项目。这是我目前的代码。

控制器:

dataService.getVolunteerByID($routeParams.id)
.then(getVolunteerSuccess)
  .catch(errorCallback);  


function getVolunteerSuccess(data) {
    $scope.volunteer = data;
  }

服务:

  function getVolunteerByID(volunteerID) {
    return $http({
    method: 'GET',
    url: '/api/vol/' + volunteerID
  })
  .then(sendResponseData)
  .catch(sendGetVolunteerError);
}

当前代码只是附加了slug字段而不是id。

1 个答案:

答案 0 :(得分:0)

我能够使用forEach循环并在response.config对象上传递$ routeparam。我认为这是最好的方法吗?

function getVolunteerByID(shortname) {
  return $http({
    method: 'GET',
    url: '/api/vol',
    shortname: shortname
})
  .then(getVolunteerByIDSuccess)
  .catch(sendGetVolunteerError);
}



function getVolunteerByIDSuccess(response) {
    var log = [];  
    angular.forEach(response.data, function(item, key) {
          if(item.shortname == response.config.shortname){
            console.log(item);
            this.push(item);
        }
    }, log);
    return log;
  }