我正在尝试使用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..."/>
答案 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;
});