使用Ng-table,我尝试创建一个表视图,可以从AngularJS参数控制。
要控制标题文本,我需要将其放在data-title或ng-data-title中(例如:data-title =“'Test'”)
代码段:
<td ng-repeat="v in tableSettings.data" data-title="v.name">
{{v.data?v.data(row):row[v.id]}}
</td>
完整代码:
<table ng-table="table" class="table" show-filter="{{tableSettings.filter}}">
<tr ng-repeat="row in $data">
<td ng-repeat="v in tableSettings.data" ng-click="tableSettings.click(row)" ng-attr-data-title="'{{v.name}}'"
ng-if="v.type!='switch'"
sortable="'{{sortable?sortable:v.id}}'">
{{v.data?v.data(row):row[v.id]}}
</td>
</tr>
</table
当我尝试将Angular解析为它时,我只是得到错误:(按以查看错误)
有没有办法解决它,甚至是从AngularJS手工解析它?
答案 0 :(得分:4)
好的问题是data-title
属性是用于静态文本(众所周知的列),例如data-title="'My first column'"
如果您需要的是动态列,则必须使用ng-table-dynamic
指令。
例如:
<table ng-table-dynamic="tableParams with cols" show-filter="true" class="table table-bordered table-striped">
<tr ng-repeat="row in $data track by row.id">
<td ng-repeat="col in $columns">{{::row[col.field]}}</td>
</tr>
</table>
在指令声明中注意使用特殊语法tablePrams
with
cols
。这里cols是一个$scope
变量,必须遵循以下模式才能使其正常工作。
$scope.cols = [
{ title: 'ID', field: 'id', filter: { id : 'text' }, show: true, sortable: 'id' },
{ title: 'Installation', field: 'installationAt' },
...
];
标题和字段是必填字段,而filter
,show
,sortable
取决于您的使用情况。
您可以使用此code pen