使用ng-if在ng-repeat中,在表格中显示一个按钮

时间:2016-05-26 09:45:18

标签: angularjs

characters table

如果字符isDead = true但是按钮没有显示,上面图片中的你好manz我试图显示一个按钮。这是我的代码:

<table class="table table-striped table-bordered">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Age</th>
                    <th>isDead</th>
                    <th>Resurrect</th>
                    <th>Increase Age</th>
                    <th>Details</th>
                </tr>
            </thead>
            <tbody>
                <tr ng-hide="products.length">
                    <td colspan="3" class="text-center">No Data</td>
                </tr>
                <tr ng-repeat="item in products">
                    <td>{{item.name}}</td>
                    <td>{{item.age}}</td>
                    <td>{{item.isDead}}</td>
                    <td ng-if="item.isDead == 'true' ">
                        <button class="btn btn-success">Resurrect</button>
                    </td>
                    <td></td>
                    <td></td>
                </tr>
            </tbody>
        </table>

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

转换此

AES/DES

到这个

<td ng-if="item.isDead == 'true' ">

N:B:在<td ng-if="item.isDead"> 中使用ng-if会破坏您的HTML。

答案 1 :(得分:1)

我不清楚item.isDead的值是什么,但如果它是一个布尔值而不是一个文本表示,那么你应该只使用:

ng-if="item.isDead"

这是因为这是在评估true / false,而item.isDead已经提供了这个。

此外,关于将输出的HTML,您应该更改为:

<td>
    <button class="btn btn-success" ng-if="item.isDead">Resurrect</button>
</td>

否则,对于item.isDead为true的项目,最终会出现匹配不匹配的列,因为这些行上的单元格会少一个。

答案 2 :(得分:0)

最好像这样使用ng-show:

<td ng-show="item.isDead">

或者更好的设计使用Button元素上的ng-show。