Javascript 如何在AngularJS中创建动态过滤器?
如何在AngularJS中进行动态过滤。我试过了,但没用 但是如果我给字段名static,比如Javascript 如何在AngularJS中创建动态过滤器?,javascript,angularjs,Javascript,Angularjs,如何在AngularJS中进行动态过滤。我试过了,但没用 但是如果我给字段名static,比如 data = {key:0, Name:"Arun", key:1, Name:"Ajay", key:3, Name:"Ashok"} function dynamicfilter(data, fieldName, filtervalue){ $filter('filter')(data, { fieldName: filtervalue }); } 它起作用了。我可以知道如何在Angu
data = {key:0, Name:"Arun", key:1, Name:"Ajay", key:3, Name:"Ashok"}
function dynamicfilter(data, fieldName, filtervalue){
$filter('filter')(data, { fieldName: filtervalue });
}
它起作用了。我可以知道如何在AngularJS中设置控制器内部的动态字段过滤器吗?要使用动态属性名称,请尝试使用带有方括号的属性访问器,如
obj[propertyName]=value
:
function dynamicfilter(data, filtervalue){
$filter('filter')(data, { Key: filtervalue });
}
从ES2015开始,您还可以使用。但这可能不适用于所有浏览器:
function dynamicfilter(data, fieldName, filtervalue){
var filter = {};
filter[fieldName] = filtervalue;
$filter('filter')(data, filter);
}
使用另一种语法可以执行以下操作:
$filter('filter')(data, { [fieldName]: filtervalue });
结果:
{myField:'myValue'}
您可以使用这样的东西
{{app1.name}
{{app1.login}
键入:dynamicfilter()
中的Key
应该是Key
,全部小写。我想Suresh要问的是如何传入属性名来动态过滤该属性上的一组对象。在{[fieldName]:filtervalue}
中,像[fieldName]
这样的动态键可以工作吗?我怀疑that@PankajParkar这是ES2015的一个新功能计算属性名
,我还添加了一个指向mdn的链接以供参考,请在这里查看:OMG!!太好了。。我用C#的方式思考:(+1)
var filterData = {}, key = 'myField', value = 'myValue';
filterData[key] = value;