我正在设计从ajax读取数据和列的通用表.在列中,描述也是过滤器名称,其角度应该用于特定列.但是在HTML模板中我不能使用过滤器名称的变量:/有没有解决方案呢?或者我应该使用数据源编写javascript循环?
这是代码示例:
<tr ng-repeat="item in data">
<td ng-repeat="col in cols">
{{item[col.source]}}
<span ng-if="col.ngFilter">
{{col.ngFilter}} // ex. "state" filter
{{item[col.source]|col.ngFilter}} //is not working - is looking for "col.ngFilter" not "state" filter.
</span>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
您无法在HTML中执行此操作.首先,您需要在控制器中应用过滤器.
function MyCtrl($scope, $filter) {
$scope.applyFilter = function(model, filter) {
return $filter(filter)(model);
};
}
Run Code Online (Sandbox Code Playgroud)
然后,在您的HTML中:
代替
{{item[col.source]|col.ngFilter}}
Run Code Online (Sandbox Code Playgroud)
使用
{{applyFilter(item[col.source], col.ngFilter)}}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2960 次 |
最近记录: |