2015-12-18 95 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 }}