Javascript Angularjs过滤json结果

Javascript Angularjs过滤json结果,javascript,json,angularjs,Javascript,Json,Angularjs,我在使用中继器的过滤函数过滤json对象时遇到问题。过滤器在第一级工作时没有问题,但现在,当我尝试过滤集合的其余部分,然后返回范围数据时,如果没有定义过滤器,则会出现错误 我创造了一个,我感谢你的帮助 app.filter('showByfilValue',['ctrl'], function ($scope,ctrl) { return function (items, word) { var filtered = []; if (typeof word !== 'undefined')

我在使用中继器的过滤函数过滤json对象时遇到问题。过滤器在第一级工作时没有问题,但现在,当我尝试过滤集合的其余部分,然后返回范围数据时,如果没有定义过滤器,则会出现错误

我创造了一个,我感谢你的帮助

app.filter('showByfilValue',['ctrl'], function ($scope,ctrl) {
return function (items, word) {
var filtered = [];
  if (typeof word !== 'undefined') {
var letterMatch = new RegExp('^' + word + '$', 'i');
for (var i = 0; i < items.length; i++) {
  var item = items[i];
 if (letterMatch.test(item.services[0].services[0].serviceName)) {
    filtered.push(item);
  }
}
return filtered;
  } else {
      return data;
  }
 };
});
app.filter('showByfilValue',['ctrl'],函数($scope,ctrl){
返回函数(项、字){
var筛选=[];
if(单词的类型!==“未定义”){
var letterMatch=newregexp(“^”+word+“$”,“i”);
对于(变量i=0;i

吉米

你在这里想做什么:
['ctrl'],函数($scope,ctrl){…}
?将$scope和controller注入过滤器?不要。实际上它应该是
['$scope','ctrl',function($scope,ctrl){…}]
,但无论如何都不是。调用过滤器时,只需将所需的所有变量传递到过滤器中:
ng repeat=“item in items | showByfilValue:variable1:variable2:variable3”
您好,谢谢您回答我的问题。我删除了您推荐的部分代码。我试过你说的方法,但没用。也许你可以改变一下小提琴,让我看看它是怎么做的?谢谢,你的改变改变了。我不会再犯任何错误了。