$ rootScope:过滤器引起的infdig错误

时间:2015-07-09 08:07:46

标签: javascript angularjs ionic

我正在使用ng-repeat打印项目列表并使用自定义过滤器来执行某些操作.HTML代码是

<ul class="list">
      <li class="item item-text-wrap" ng-repeat="item in searchJson | customFilter:search.value">
      <div class="row row-center row-height">
      <font class="text_color">
        <span ng-bind-html="highlight(item.name, search.value)"></span>
      </font>
      </div>
      </li>
</ul>

CustomFliter是

.filter('customFilter', function () {
 return function (arr,searchString) {
 var names = [];
 var ans = [];
 var item = {};


 if(!searchString){
        return arr;
    }
 searchString = searchString.toLowerCase();
    angular.forEach(arr, function(item){
    if(item.name.toLowerCase().indexOf(searchString) !== -1){
      names.push(item);
    }
   else{ 
    if(item.metadata.toLowerCase().indexOf(searchString) !== -1){
        ans.push(item);
      }
    }
    });
//want to add a header for names
if(names.length!=0)
{
  item['name']='<font color="black"><b>Most relevant results</b</font>'
  names.splice(0,0,angular.copy(item));

}
//want to add a header for questions
if(ans.length!=0)
 {
   item['name']='<font color="black"><b> Other relevant results</b></font>'
   ans.splice(0,0,angular.copy(item));
 }
return names.concat(ans);
};
})

没有拼接条件(ng-repeat),一切正常。在splice存在时,我收到了$ rootScope.infdig错误。我浏览了这些链接https://docs.angularjs.org/error/ $ rootScope / infdig https://docs.angularjs.org/api/ng/provider/ $ rootScopeProvider

很明显,我们无法在摘要周期中添加项目。有没有办法动态添加标题。任何人都可以帮助解决这个问题。

我尝试使用collection-repeat并且工作正常但问题是,如果我导航到第二页并再次来到此页面,除非我与屏幕建立联系,否则没有任何内容可见。如何解决此问题? ??

0 个答案:

没有答案