我正在尝试根据部分选项中的用户选择在ng-repeat上应用过滤器。但到目前为止无法执行此操作。
更新 - 它的工作原理!!
这是Plunker
HTML
<div class="container">
<div ng-include="" src="'refiners.html'"></div>
<br />
<br />
<div class="row">
<div class="col-xs-12">
<ul>
<li ng-repeat="item in data.Results | filter:cc">
<div>
<p>{{item.Title}}</p>
<p>{{item.City}}</p>
<p>{{item.PostalCode}}</p>
<span>{{item.MinimumSalePrice | currency}}</span>
<span>{{item.MaximumSalePrice |currency}}</span>
<p>{{item.PropertyType}}</p>
<p>{{item.TenureType}}</p>
</div>
</li>
</ul>
</div>
答案 0 :(得分:1)
当您执行ng-include时,您创建一个新范围,因此cc在父范围内始终为空。
这与此问题类似。 AngularJS - losing scope when using ng-include
您可以通过向控制器添加$ scope.cc = {}来修复它(在父$ scope中创建此元素,以便过滤器可以访问它。为此,您必须删除ng-init调用来自refiners.html,因为这些将在子范围内创建一个新对象。