1
的数组我有一个对象angularjs自定义过滤器搜索中的对象
{"A":[],"B":[],"C":[],"D":[],"E":[],"F":[{"name":"Fargo","id":29}],"G":[],"H":[],"I":[],"J":[],"K":[],"L":[],"M":[],"N":[],"O":[],"P":[],"Q":[],"R":[],"S":[{"name":"Sullivan","id":23},{"name":"Sven","id":26}],"T":[],"U":[],"V":[],"W":[],"X":[],"Y":[],"Z":[],"#":[]}
我需要根据对象name
上写的angular js filter
。每次用户输入新字符时,我都希望显示结果。
为了这个目的,我创造了这个filter
:
app.filter('alphabeticSearch', function() {
return function (obj,query) {
if (!query) {
return obj;
}
var filtered = {};
for (var i = 65; i < 91; i++) {
filtered[String.fromCharCode(i)] = [];
}
filtered['#'] = [];
for (i in obj) {
var _this = obj[i];
filtered[i] = _this.filter(function (ele) {
var reg = new RegExp(query, "gi");
return reg.test(ele.name);
})
}
return filtered;
};
});
但angularjs
引发错误
[$rootScope:infdig] 10 $digest() iterations reached. Aborting!
这是我如何使用过滤器从我的HTML
<input type='text' id='cSearch' ng-model='ent' value='' />
<div ng-repeat="(letter,obj) in item | alphabeticSearch:ent">
....
</div>
由于其做工精细.. – 2014-09-25 05:43:20