ng重复表:更改单元格的显示文本

时间:2014-08-05 11:52:31

标签: angularjs angularjs-ng-repeat angular-ng-if

我有一个我希望在网格中显示的邮件列表(<table>)。其中一些邮件有附件。对于相应的行,我想在附件列中显示附件图标。休息时,它应该是空的。

JsFiddle:http://jsfiddle.net/6s4Z5/

我的模板如下:

<table id="resultTable">
    <thead>
        <tr>
            <th ng-repeat="columnId in schema.columnOrder">
                <img src="icon_attach.png" ng-if="columnId == 'hasAttachments'">
                {{schema.columns[columnId].displayText}}
            </th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat="row in results.mails">
            <td ng-repeat="columnId in schema.columnOrder">
                <img src="icon_attach.png" ng-if="columnId == 'hasAttachments' && row.hasAttachments">
                <span ng-if="columnId != 'hasAttachments'" >{{ row[columnId] }}</span>
            </td>
        </tr>
    </tbody>
</table>

其中schema.columnOrder是要在表格中显示的columnIds数组。

此模板正在运行,但这是实现此功能的最佳方式吗?此外,我必须为<span>语句添加额外的ng-if。这也可以删除吗?

2 个答案:

答案 0 :(得分:0)

您几乎可以将其更改为:

<span ng-if='your check'><img src=''/>{{row[columnId}}</span>

答案 1 :(得分:0)

您可以将(在控制器中)列hasAttachments的值设置为要在那里显示的图像。