如何在 AngularJS 中创建动态过滤器
How to create dynamic filter in AngularJS?
data = {key:0, Name:"Arun", key:1, Name:"Ajay", key:3, Name:"Ashok"}
function dynamicfilter(data, fieldName, filtervalue){
$filter('filter')(data, { fieldName: filtervalue });
}
如何在 AngularJS 中做动态过滤器。我试过这样,它不起作用。
但是如果我给字段名称静态,比如
function dynamicfilter(data, filtervalue){
$filter('filter')(data, { Key: filtervalue });
}
它正在工作。我可以知道如何在 AngularJS 中设置控制器内的动态字段过滤器吗?
若要使用动态属性名称,请尝试使用带有方括号的属性访问器,如下所示obj[propertyName] = value
:
function dynamicfilter(data, fieldName, filtervalue){
var filter = {};
filter[fieldName] = filtervalue;
$filter('filter')(data, filter);
}
从 ES2015 开始,您还可以使用计算的属性名称。不过,这可能不适用于所有浏览器:
$filter('filter')(data, { [fieldName]: filtervalue });
使用其他语法可以让你这样做:
var filterData = {}, key = 'myField', value = 'myValue';
filterData[key] = value;
结果:{ myField: 'myValue' }
你可以使用这样的东西
<input type="text" [(ngModel)]="search1" value="" class = "form-control" id = "search" />
<ng-container *ngFor="let app1 of apps">
<tr *ngIf="!search1 || app1.name.includes(search1)">
<td>{{app1.name}}<td>
<td>{{app1.login}}<td>
</tr>
</ng-container>
相关文章:
- 如何在javascript中创建动态json对象
- 如何创建动态ajax提交表单
- 如何在javascript中创建动态正则表达式
- 如何使用pouchdb创建动态查询(couchdb可能也是如此)
- 如何在jquery mobile中使用json文件创建动态下拉菜单
- 基于所选下拉列表值创建动态复选框
- 使用推动创建动态对象
- 在浏览器窗口中创建动态灵活的分割标记
- 将字符串与integer连接,用作jquery中的变量(创建动态变量)
- 创建动态javascript对象
- 如何使用指令属性值创建动态模板
- 使用 JavaScript 创建动态下拉列表
- 如何在创建动态 HTML 页面时使用日期选择器
- 使用javascript中的append创建动态下拉列表
- Jquery - 创建动态名称选择器
- 如何根据查询字符串值创建动态超链接
- 使用javascript创建动态多维关联数组
- 使用javascript创建动态二级下拉列表
- 在JavaScript中创建动态绑定
- 在JS中创建动态对象