我正在使用简单的表格过滤器应用程序学习角度,并遇到了一些问题。
我正在尝试在Angular 1.4中实现一个正则表达式过滤器,以便用户可以使用多个值过滤某些输入。另外,我在其他领域有一些简单的输入。我试图从之前的SO答案中推出一个正则表达式过滤器(尽管是针对v1.1)但是不能将它应用于当前只匹配字符串的两个输入。
过滤器:
$scope.regex = function(){
return function(input, field, regex) {
var patt = new RegExp(regex);
var out = [];
for (var i = 0; i < input.length; i++){
if(patt.test(input[i][field]))
out.push(input[i]);
}
return out;
};
};
提前致谢。
Plunker示例here,在控制器中使用了正则表达式过滤器,但未在模板中应用。
答案 0 :(得分:0)
根据@zeroflagL
的输入解决appName.filter('regex', function() {
return function(input, field, regex) {
var patt;
var out = [];
if (regex === undefined) {
patt = new RegExp(regex);
}
else {
patt = new RegExp(regex.toLowerCase());
}
if(input === undefined) {
return out;
}
for (var i = 0; i < input.length; i++){
if(patt.test(input[i][field].toLowerCase()))
out.push(input[i]);
}
return out;
};
});
并能够在我的ng-repeat中使用它:
regex:'fieldname':scopeFilter.propertyForFieldName