0

根据我对 Angular 的理解,一次只能看到以下两个元素中的一个,但由于某种原因,两者都在显示。我的代码中是否有我看不到的错误?

我是否错误地使用了 ng-show?

<div class="no_people" ng-show="!person.name">
    <p>no people</p>
</div>

<div ng-repeat="person in details.people">
    <div class="persons_table">
        <table>
            <tbody>
                <tr class="top_row">
                    <td colspan="2">                            
                        <span class="person_name">
                            {{ person.name }}
                        </span>
                        <span class="person_address" >
                            {{ person.address }}
                        </span>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</div>
4

2 回答 2

4

我认为它应该这样工作:

<div class="no_people" ng-hide="details.people.length">
    <p>no people</p>
</div>

person变量只能在ng-repeat.

而使用ng-hide而不是ng-show=!可能更清洁一些。

于 2014-03-28T13:33:21.560 回答
1

正如我所看到的,你需要这个:

<div class="no_people" ng-hide="details.people.length > 0">
    <p>no people</p>
</div>
于 2014-03-28T13:40:13.653 回答