私は腐ったトマトのapiで検索で見つかった映画の総量を隠す必要があるので、この問題があります。クエリを入力するたびに、表示されるそれぞれのムービーごとに同じヘッダーが繰り返されます。私は一番上でそれを繰り返す必要があります。ここでは、私がJSFiddleでそれを行うことができないので、何が起こっているのかのイメージです。ここでAngularJSのRT API呼び出しからトータルムービーヘッダーを繰り返さないようにするにはどうすればよいですか?
<html ng-app="demoApp">
<head>
<title>demo</title>
<script src="angular.min.js"></script>
<script src="search.js"></script>
</head>
<body ng-controller="moviesController">
<label for="q">Search Text</label>
<input type="text" id="q" ng-model="data.q" ng-model-options="{debounce: 500}"/>
<label for="page_limit">Page Size</label>
<input type="text" id="page_limit" ng-model="data.page_limit" ng-model-options="{debounce: 500}"/>
<label for="page">Page Number</label>
<input type="text" id="page" ng-model="data.page" ng-model-options="{debounce: 500}"/>
<div class="movie" ng-repeat="movie in movies">
<h1>Total movies: {{totalMovies}}</h1>
<div>
<img src="{{movie.posters.thumbnail}}" />
<h2>{{movie.title}}</h2>
</div>
<div>
<p>{{movie.synopsis}}</p>
<dl>
<dt>Rating</dt>
<dd>{{movie.mpaa_rating}}</dd>
<dt>Year</dt>
<dd>{{movie.year}}</dd>
<dt>Critics Score</dt>
<dd>{{movie.ratings.critics_score}}</dd>
<dt>Audience Score</dt>
<dd>{{movie.ratings.audience_score}}</dd>
<dt>Theater Release Date</dt>
<dd>{{movie.release_dates.theater}}</dd>
<dt>DVD Release Date</dt>
<dd>{{movie.release_dates.dvd}}</dd>
</dl>
</div>
</div>
</body>
</html>
angular.module('demoApp', [])
.constant('apiKey', 'removed for security')
.constant('apiUrl', 'http://api.rottentomatoes.com/api/public/v1.0/movies.json')
.controller('moviesController', function ($scope, $http, apiUrl, apiKey) {
$scope.data = {}
$scope.$watchGroup(['data.q', 'data.page_limit', 'data.page'], function() {
$http.jsonp(apiUrl, {
params: {
q: $scope.data.q,
page_limit: $scope.data.page_limit,
page: $scope.data.page,
apikey: apiKey,
callback: 'JSON_CALLBACK'
}
}).then(function (response) {
$scope.movies = response.data.movies;
//Call total movies
$scope.totalMovies = response.data.total;
});
});
});
これは機能します。そんなにシンプルなものだとは信じられない。どうもありがとうございました。 :) – HawkBlade124