2015-12-18 69 views
0

我开始AngularJS。我正在动态构建一个带有角度的表格,并且正在尝试向我的一列中添加一个过滤器。基于对象值的角度添加过滤器

下面的代码我已经在我的控制器:

$scope.columns = [ 
    { 
     "alias":"alias1", 
     "name":"name1", 
     "type":"string" 
    }, 
    { 
     "alias":"alias2", 
     "name":"name2", 
     "type":"currency" 
    } 
]; 

$scope.data = [ 
    { 
     "alias1": "value1", 
     "alias2": "22489" 
    }, 
    { 
     "alias1": "value2", 
     "alias2": "22489" 
    }, 
    { 
     "alias1": "value3", 
     "alias2": "22489" 
    }, 
]; 

我的表看起来像这样:

<table class="table table-hover"> 
    <thead> 
     <tr> 
      <th ng-repeat="c in columns" ng-click="sort(c.alias)">{{ c.name }}</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr ng-repeat="result in results | filter:search | orderBy:sortKey:reverse"> 
      <td ng-repeat="c in columns">{{ result[c.alias] }}</td> 
     </tr> 
    </tbody> 
</table> 

我想什么做的是一个过滤器应用于<td>值基于列的type。类似{{ result[c.alias] | c.type }}不起作用...

是否可以通过某些格式化指令来实现,例如?

感谢您的帮助。

回答

1

你的意思是这个?:

app.filter('myfilter', function() { 
    return function(input, param) { 
     //do whatever 
    } 
}) 

{{ result[c.alias] | myfilter:c.type }}