AngularJS - Ng-Table不会解析标头

时间:2015-11-25 17:12:07

标签: javascript angularjs ngtable

使用Ng-table,我尝试创建一个表视图,可以从AngularJS参数控制。

要控制标题文本,我需要将其放在data-title或ng-data-title中(例如:data-title =“'Test'”)

但是,它总是使表头空。 enter image description here

而不是填写它: enter image description here

代码段:

<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解析为它时,我只是得到错误:(按以查看错误)

"'{{v.name}}'" "{{v.name}}"

有没有办法解决它,甚至是从AngularJS手工解析它?

1 个答案:

答案 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' },
    ...
];

标题和字段是必填字段,而filtershowsortable取决于您的使用情况。

您可以使用此code pen