Angularjs 筛选变量可能存在范围问题

Angularjs 筛选变量可能存在范围问题,angularjs,angularjs-scope,angularjs-filter,Angularjs,Angularjs Scope,Angularjs Filter,我正在尝试做一些类似的事情,得到过滤结果的长度和总数 HTML: 过滤器: 总计:{filtered.length} 政策 销售代表 顾客 类型 兑换金额 生效日期{filtered.length} {{transaction.policy.policy_number}{{{pizza}} {{transaction.sales_rep.name} {{transaction.policy.customer.full_name} {{transaction.transaction_type}

我正在尝试做一些类似的事情,得到过滤结果的长度和总数

HTML:


过滤器:
总计:{filtered.length}
政策
销售代表
顾客
类型
兑换金额
生效日期{filtered.length}
{{transaction.policy.policy_number}{{{pizza}}
{{transaction.sales_rep.name}
{{transaction.policy.customer.full_name}
{{transaction.transaction_type}
${{transaction.change_amt | number:currency}
{{transaction.effect_date}
JS并没有具体的内容。在上面的示例中,
{{filtered}
仅在表中显示预期的过滤结果(在本例中为
)。当我尝试在div中获取上面的长度时,它不会返回任何结果


这里是否创建了某种隔离作用域?我的代码似乎与我上面链接的问题的示例相匹配,所以他们为什么可以在其他元素中访问该变量,而我不能?

您应该在数据中使用
事务|过滤器:数据过滤器作为已过滤的
。我怀疑问题与
ts包装器的功能有关。可能引起范围issues@JBNizet为什么?使用您的语法执行此操作会给我提供
[ngRepeat:badent]别名'filtered | tablesortordby:sortFun'无效---必须是有效的JS标识符,而不是保留名称。
我没有看到此格式。我喜欢新事物,但我不明白其中的区别。@Aarmora您使用的是什么版本…别名是在
1.4
周围添加的。还有
ts包装器
做什么?@charlietfl
ts包装器
就是它。我把它移到我的控制器元素,它就像一个符咒。我知道那一定是件傻事。我正在使用
1.4.8
<div ng-app="app" ng-controller="controller">
  <div class="col-md-4 ">Filter: <input class="form-control" ng-model="dataFilter" placeholder="filter" /></div>
  <div class="col-md-4 ">Total:  {{filtered.length}}</div>
  <table class="table table-hover" ts-wrapper>
    <thead>
      <tr>
        <th ts-criteria="policy.policy_number | parseInt">
          Policy
        </th>
        <th ts-criteria="sales_rep.name">
          Sales Rep
        </th>
        <th ts-criteria="policy.customer.full_name">
          Customer
        </th>
        <th ts-criteria="type">
          Type
        </th>
        <th ts-criteria="change_amt | parseFloat">
          Change Amount
        </th>
        <th ts-criteria="effective_date | date">
          Effective Date {{filtered.length}}
        </th>
      </tr>
    </thead>
    <tbody>
      <tr ng-repeat="transaction in filtered = (data | filter: dataFilter )" ts-repeat>
        <td>{{transaction.policy.policy_number}}{{pizza}}</td>
        <td>{{transaction.sales_rep.name}}</td>
        <td>{{transaction.policy.customer.full_name}}</td>
        <td>{{transaction.transaction_type}}</td>
        <td>${{transaction.change_amt | number:currency}}</td>
        <td>{{transaction.effective_date | date}}</td>
      </tr>
    </tbody>
  </table>
</div>