如何将变量从控制器遍历到服务?

时间:2015-12-03 10:07:08

标签: angularjs

我编写了一个Angular控制器,用于在范围/变量

中存储电影的id
$scope.wishlistID.push({id: movie.id});
var movieID = $scope.wishlistID;

现在,在我的服务中,我想将movieID var的值或whislistID的值添加到url中,因为目前我正在使用jQuery选择器来获取ID。

service.add = function(){
  var movieID = $(event.currentTarget).parent().find('.movieID').text();

  return httpPromise(
    baseUrl + movieID + '?api_key=a8f7039633f2065942cd8a28d7cadad4&query=' +'&append_to_response=releases&callback=JSON_CALLBACK'
  )

}

那么我如何将我在控制器中获得的ID插入到服务的URL中?

2 个答案:

答案 0 :(得分:1)

定义接受movieID

的参数
service.add = function(movieID){
  return httpPromise(
    baseUrl + movieID + '?api_key=a8f7039633f2065942cd8a28d7cadad4&query=' +'&append_to_response=releases&callback=JSON_CALLBACK'
  )
}

在控制器中使用

var movieId = $scope.wishlistID[0].id;//better use movie.id directly

//Pass movie id
service.add(movieId); 

答案 1 :(得分:1)

将您的id参数作为参数传递给服务函数:

//pass parameter in controller
service.add(id);

//use parameter in service function
service.add = function(id) {
    //use id in your url
}