0

我正在尝试使用 angularjs 创建对烂番茄 api 的搜索。我希望能够键入查询按 Enter 或 go(在电话上)然后 api 返回查询结果。

我试图将 附加$scope.search到视图中的输入。我知道我做错了什么,但由于我没有经验,我想不出该怎么做。寻找一个好心的人给我指出正确的方向。

看法

<input placeholder="Search for it" ng-model="search">

控制器

ctrls.controller('resultsCtrl', function($scope, $http){
    $scope.search = 'query';
    $http.jsonp('http://api.rottentomatoes.com/api/public/v1.0/movies.json', {
        params: {
             page_limit: '5',
             page: '1',
             q: $scope.search,
             apikey: myKey,
             callback: 'JSON_CALLBACK'
         }
    })
    .success(function (data) {
        $scope.results = data.movies;
    });
});
4

1 回答 1

1

你将不得不为此使用一个函数

ctrls.controller('resultsCtrl', function($scope, $http){
    $scope.search = 'query';
    $scope.fetchResults = function(){
      $http.jsonp('http://api.rottentomatoes.com/api/public/v1.0/movies.json', {
          params: {
               page_limit: '5',
               page: '1',
               q: $scope.search,
               apikey: myKey,
               callback: 'JSON_CALLBACK'
           }
      })
      .success(function (data) {
          $scope.results = data.movies;
      });
    }
});

并从你的角度调用它

<form ng-submit="fetchResults()">
    <input placeholder="Search for it" ng-model="search">
    <input type="submit" value="Go"/>
</form>
于 2014-02-20T02:04:25.613 回答