我希望table指令中的每一列都有1个函数,每个函数都会在运行时更改。列类型和列数可能会有所不同。
每列Filter可以是 -
我创建了一个属性,用于指令模板中的所有列的过滤器,如下所示
<tr ng-repeat="item in data | filter : columnFilters | filter: search | orderBy: sortBy: reverse">
有没有办法以下列任何一种方式使用函数列表作为过滤表达式?
$scope.columnFilters = [
function() { /* Logic 1 */ },
function() { /* Logic 2 */ },
function() { /* Logic N */ }
];
// OR
$scope.columnFilters = {
column1 : function() { /* Logic for column 1 */ },
column2 : function() { /* Logic for column 2 */ },
columnN : function() { /* Logic for column N */ },
};
根据AngularJS filter API,我们可以使用string
,Object
或function
。对象可以包含字符串作为其中每个项目的值。但我想使用函数而不是字符串。
我已尝试将Object作为函数列表,但这不起作用。