Angular Js中的过滤器

时间:2015-04-20 01:26:06

标签: javascript angularjs angularjs-directive angularjs-scope angularjs-ng-repeat

我正在尝试根据部分选项中的用户选择在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>

1 个答案:

答案 0 :(得分:1)

当您执行ng-include时,您创建一个新范围,因此cc在父范围内始终为空。

这与此问题类似。 AngularJS - losing scope when using ng-include

您可以通过向控制器添加$ scope.cc = {}来修复它(在父$ scope中创建此元素,以便过滤器可以访问它。为此,您必须删除ng-init调用来自refiners.html,因为这些将在子范围内创建一个新对象。