在服务中传递参数以搜索Rotten Tomato API

时间:2016-04-16 09:51:04

标签: angularjs json rotten-tomatoes

我正在尝试使用Rotten Tomato API创建电影搜索,但我不知道如何将$('<option data-icon="' +( (gender == 'stud')?'man':'babe')+ '"></option>').val(element.id).html(element.name + ": " + element.pb + ' Zbucks') 作为输入添加到我的服务中。我想做那样的事情:

查看

$scope.nameFilter

服务

<input type="text" ng-model="nameFilter" placeholder="Search..."/>

1 个答案:

答案 0 :(得分:1)

我会使用一个附加到Controller的函数,它调用传递参数的服务函数。

以下是一个例子:

HTML:

<input type="text" ng-model="filter" />
<button ng-click="search(filter)">Search Movie</button>

CONTROLLER JS:

app.controller('ExampleCtrl', function($scope,rtAPIservice ){

  $scope.filter = '';
  $scope.filteredMovies = [];

  $scope.search = function(filter){
    rtAPIservice.getFilteredMovies(filter)
      .then(function(data){
        $scope.filteredMovies = data;
      });
  }

})

工厂服务

app.factory('rtAPIservice', function($http) {

  var rtAPI = {};

  rtAPI.getMoviesAll = function(filter) {
    return $http({
      method: 'JSONP', 
      url: 'http://api.rottentomatoes.com/api/public/v1.0/movies.json?q='+ filter +  '&page_limit=10&page=1&apikey=MyKey&callback=JSON_CALLBACK'
      });
    }

  return rtAPI;
});
相关问题