循环上的AngularJS筛选器服务
我一直在尝试为表数据创建一个自定义过滤器,但在这样做时,当登录到控制台时,过滤器函数被无限循环调用/ 然后,我决定使用单独的数据运行一个测试,在同一页面上使用一个简单的过滤器,以查看问题是否持续存在,并从这里复制 过滤器在我的应用程序中仍处于循环状态。我在plnkr中测试了提供的代码,它运行良好 更新 因此,正在使用控制台a循环上的AngularJS筛选器服务,angularjs,filter,Angularjs,Filter,我一直在尝试为表数据创建一个自定义过滤器,但在这样做时,当登录到控制台时,过滤器函数被无限循环调用/ 然后,我决定使用单独的数据运行一个测试,在同一页面上使用一个简单的过滤器,以查看问题是否持续存在,并从这里复制 过滤器在我的应用程序中仍处于循环状态。我在plnkr中测试了提供的代码,它运行良好 更新 因此,正在使用控制台a组件服务中调试脚本来更新时间。与用于筛选表的控制器完全分离。在我使用的$timeout函数中,每次请求新时间时,它似乎都在调用摘要循环 问题 为什么在调用$timeout服务
组件
服务中调试脚本来更新时间。与用于筛选表的控制器完全分离。在我使用的$timeout
函数中,每次请求新时间时,它似乎都在调用摘要
循环
问题
为什么在调用
$timeout
服务,但没有其他控制器或其他服务时调用过滤服务?AngularJS框架会在每个摘要周期评估AngularJS Expression电影|按流派:genrefilters
以确定任何更改
脏检查属性更改的范围是AngularJS中的常见操作。它发生在与AngularJS框架集成的每个浏览器事件之后
有关详细信息,请参阅
$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>