gpt4 book ai didi

javascript - 使用 AngularJS ng-repeat 维护显示的结果数

转载 作者:行者123 更新时间:2023-11-28 01:39:11 25 4
gpt4 key购买 nike

我做了一个 Plunker 来演示我的问题: http://plnkr.co/edit/sT9cFUFPhR2Z45SiRW7V?p=preview

如果搜索是新搜索,它似乎会更新计数,但一旦缓存了所有内容,它就会停止更新计数。似乎没有办法清除 ng-repeat 的缓存(据我所知),我不确定我是否真的想这样做,因为它会损害性能。

有没有办法保持在一个或多个 ng-repeat 中显示的总行数的最新计数?

HTML:

  <body ng-app="app">
<div ng-controller="ctrl as c">
<h1>{{'Count: ' + (c.count + c.count2)}}</h1>

Search by name: <input type="text" ng-model="name">

<div ng-repeat="name in c.names | filter:name" ng-init="c.count = $index + 1;">
{{name}}
</div>
<div ng-repeat="name in c.names2 | filter:name" ng-init="c.count2 = $index + 1;">
{{name}}
</div>
</div>
</body>
</html>

Javascript:

var app = angular.module('app', []);
app.controller('ctrl', function(){
var c = this;
c.count = 0;
c.names = ['jim', 'james', 'fred', 'lue'];
c.names2 = ['jim2', 'james2', 'fred2', 'lue2'];
});

最佳答案

将过滤后的数组设置为临时变量并对其进行计数。

Plunker

<div ng-controller="ctrl as c">

<h1>Count: {{c.filtered1.length + c.filtered2.length}}</h1>
Search by name:
<input type="text" ng-model="name">

<div ng-repeat="name in c.filtered1 = (c.names | filter:name)">
{{name}}
</div>

<div ng-repeat="name in c.filtered2 = (c.names | filter:name)">
{{name}}
</div>

</div>

关于javascript - 使用 AngularJS ng-repeat 维护显示的结果数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27026833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com