13

在一个表格单元格中,我使用下面的结构列出了使用 ng-repeat 填充的几个项目。但是,对于某些条目,诸如“user.favcolor”之类的属性是空白的。在这种情况下,隐藏诸如“最喜欢的颜色:”之类的文本的最简单方法是什么,这样我就不会得到一个具有“最喜欢的颜色:”并且旁边没有任何值的行?

        <table>
            <thead>
                <tr>
                    <th>Price</th>
                    <th>Plan Contents</th>
                </tr>
            </thead>
            <tbody>
                <tr ng-repeat="tip in tips">
                    <td>{{tip.priceMonthly}}</td>
                    <td><span>Name: {{user.name}}</span>
                        <span>ID: {{user.id}}</span>
                        <span>Favorite color: {{user.favcolor}}</span>
                    </td>
                </tr>
            </tbody>
        </table>
4

1 回答 1

36

您可以ng-show为此使用指令:

<span ng-show="user.favcolor">Favorite color: {{user.favcolor}}</span>

只有当ng-show表达式计算为 时才会显示元素true。此处的空字符串将评估为false隐藏整个元素。

或者,您也可以指定默认值:

<span>Favorite color: {{user.favcolor || "Not specified" }}</span>

在这种情况下,如果user.favcolor计算结果为 a false,它将Not specified改为打印。

于 2013-09-24T23:10:41.673 回答