Ng-show没有按预期工作?角

时间:2014-03-28 13:30:33

标签: javascript angularjs ng-show

正如我对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>

2 个答案:

答案 0 :(得分:4)

我认为这应该有效:

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

person变量只能在ng-repeat

中访问

使用ng-hide代替ng-show=!可能会更加清晰。

答案 1 :(得分:1)

我可以看到,你需要这个:

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