在angularjs中使用ng-if指令?

时间:2016-01-25 18:53:13

标签: angularjs

是否可以使用ng-show的ng-if指令编写以下代码?

<tbody data-ng-repeat="storedata in storedata.data">
        <tr class="table_row_{{childItem}}">            
            <td class="table_col1" >
                <div ng-show="!storedata.hideButtons" class="btn-group  pull-right">
                    <button type="button" class="btn btn-default" aria-label="Edit" ng-click="openStore(storedata.storeId, storedata)"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></button>
                    <button type="button" class="btn btn-default" aria-label="New" ng-click="openStore(storedata.storeId)"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></button>
                </div>
            </td>

1 个答案:

答案 0 :(得分:1)

应该没问题,除非其他一些javascript代码明确依赖于存在的按钮来传递一些自定义验证。

ng-show仅使用CSS隐藏元素。

ng-if完全从DOM中删除元素。

ng-if速度较慢,因为修改DOM需要更多处理能力。但是当你有ie时它很有用。表单元素,您不希望它们的值出现在结果中。因为使用ng-show的隐藏元素仍然会被验证(并且即使它被隐藏也会导致表单验证失败),如果您使用ng-if它将无法验证