0

私のページにレンダリングされているムービーリストがあり、コントローラーコードは次のようになります

angular.module('rentalapp.controllers.rentals', ['restangular'])
.controller('rentalController', ['$rootScope','$scope', 'DataService', function($rootScope, $scope, DataService){
    //$rootScope.obj = {search: []};
    DataService.getRentals().then(function(data){
        $scope.movielist = data;

    });

}])

チェックボックスフィルターを使用してリストをフィルタリングしようとするまで、すべて正常に機能します。ng:include を使用して、filters.html をインクルードしています。フィルターがデータ テンプレートの一部である場合、すべて正常に機能しますが、ng:include の一部である場合、フィルターは機能しません。ng:include が子スコープを作成することは知っていますが、これを回避する方法がわかりません。私のフィルターコードは次のようになります

<input type="checkbox" data-ng-model='search.$' data-ng-true-value='Unrated' data-ng-false-value='' />Unrated</label>

データリピーターは次のとおりです。

<tr ng-repeat="movie in movielist | filter:search">
          <td>{{$index+1}}</td>
          <td><a href="#/detail/{{movie._id.$oid}}">{{movie.title}}</a></td>
          <td>{{movie.year}}</td>
          <td>{{movie.mpaa_rating}}</td>
          <td><a class="btn btn-success" href="#/edit/{{movie._id.$oid}}">Edit</a></td>
          <td><a class="btn btn-danger" href="#/delete/{{movie._id.$oid}}">Delete</a></td>
        </tr>
4

1 に答える 1

2

ご指摘のとおり、含まれている html は独自のスコープを取得します。親スコープの検索プロパティにバインドするには、次を使用できます。

<input type="checkbox" data-ng-model='$parent.search.$' />
于 2014-03-02T13:40:58.357 に答える