Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环上的AngularJS筛选器服务_Angularjs_Filter - Fatal编程技术网

循环上的AngularJS筛选器服务

循环上的AngularJS筛选器服务,angularjs,filter,Angularjs,Filter,我一直在尝试为表数据创建一个自定义过滤器,但在这样做时,当登录到控制台时,过滤器函数被无限循环调用/ 然后,我决定使用单独的数据运行一个测试,在同一页面上使用一个简单的过滤器,以查看问题是否持续存在,并从这里复制 过滤器在我的应用程序中仍处于循环状态。我在plnkr中测试了提供的代码,它运行良好 更新 因此,正在使用控制台a组件服务中调试脚本来更新时间。与用于筛选表的控制器完全分离。在我使用的$timeout函数中,每次请求新时间时,它似乎都在调用摘要循环 问题 为什么在调用$timeout服务

我一直在尝试为表数据创建一个自定义过滤器,但在这样做时,当登录到控制台时,过滤器函数被无限循环调用/

然后,我决定使用单独的数据运行一个测试,在同一页面上使用一个简单的过滤器,以查看问题是否持续存在,并从这里复制

过滤器在我的应用程序中仍处于循环状态。我在plnkr中测试了提供的代码,它运行良好

更新

因此,正在使用控制台a
组件
服务中调试脚本来更新时间。与用于筛选表的控制器完全分离。在我使用的
$timeout
函数中,每次请求新时间时,它似乎都在调用
摘要
循环

问题


为什么在调用
$timeout
服务,但没有其他控制器或其他服务时调用过滤服务?

AngularJS框架会在每个摘要周期评估AngularJS Expression
电影|按流派:genrefilters
以确定任何更改

脏检查属性更改的范围是AngularJS中的常见操作。它发生在与AngularJS框架集成的每个浏览器事件之后

有关详细信息,请参阅


代码是否正常?不,没有,只有控制台登录循环。我在我的应用程序的另一个状态下测试了脚本,同样的事情happened@georgeawg在调试代码时,通过
$timeout
服务更新时间的组件正在进行调用。最初我认为它与多次调用过滤器无关,但我将其注释掉,它已经停止了多次调用。每5秒调用一次,而不是每半秒调用一次。为什么这会导致在循环中调用过滤器?
<div ng-init="movies = [
          {title:'Man on the Moon', genre:'action'},
          {title:'Meet the Robinsons', genre:'family'},
          {title:'Sphere', genre:'action'}
       ];" >
<input type="checkbox" ng-model="genrefilters.action" />Action
<br />
<input type="checkbox" ng-model="genrefilters.family" />Family
<br />{{genrefilters.action}}::{{genrefilters.family}}
<ul>
    <li ng-repeat="movie in movies | bygenre:genrefilters">{{movie.title}}: {{movie.genre}}</li>
</ul>
</div>