Angularjs:有没有办法使用函数列表作为过滤表达式?

时间:2016-02-27 18:16:52

标签: javascript angularjs angularjs-directive angularjs-scope angularjs-filter

我希望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,我们可以使用stringObjectfunction。对象可以包含字符串作为其中每个项目的值。但我想使用函数而不是字符串。

我已尝试将Object作为函数列表,但这不起作用。

0 个答案:

没有答案