javascript - AngularJS:使用 'track by' 禁用 ng-repeat 中的过滤器

标签 javascript angularjs

自从我实现了track byng-repeat 中,它会阻止我的过滤器执行。例如,track by $index 就像一个魅力,但当我尝试添加一个输入字段来搜索我的对象时,没有任何反应,控制台也没有显示任何错误。

这是我的 html:

<input type="text" ng-model="searchText">
<div ng-repeat="message in messages.collection track by $index | filter : searchText">
  <p>{{message.text}}</p>
</div>

我还创建了一个 Plunkr为了显示这两种情况(使用和不使用 track by)。

我想知道这是语法问题还是其他问题以便修复它。

最佳答案

您需要在表达式末尾添加track by。看到这个工作 plunkr .

代码:

<div ng-repeat="message in messages.collection | filter : searchText track by $index">
    <p>{{message.text}}</p>
</div>

关于javascript - AngularJS:使用 'track by' 禁用 ng-repeat 中的过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24647126/

相关文章:

javascript - Google map API - 缩小时默认标记不准确

javascript - 如何将现有回调 API 转换为 Promise?

javascript - 在 url angularJs 中非法使用 JSON CALLBACK

javascript - 如何更改箭头覆盖的箭头长度

javascript - 确保用户在 Angular 中经过身份验证

javascript - Java Nashorn 存储函数

javascript - 在 Controller 之间切换,无法更新 View

javascript - Angular JS 类型错误 : f is not a function

javascript - AngularJS Promise 链接 $q.all 的最佳实践

javascript - 使用 $index 更改 active-slide 后没有 ion-slide-box 更新