【发布时间】:2012-09-17 22:55:57
【问题描述】:
我正在尝试使用AngularJS 提供的ng-show 和ng-hide 函数显示/隐藏一些HTML。
根据文档,这些函数各自的用法如下:
ngHide - {表达式} - 如果表达式为真,则分别显示或隐藏元素。 ngShow - {表达式} - 如果表达式为真,则分别显示或隐藏元素。
这适用于以下用例:
<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>
但是,如果我们使用来自对象的参数作为表达式,那么 ng-hide 和 ng-show 将被赋予正确的 true/false 值,但这些值不被视为布尔值,因此始终返回 @ 987654329@:
来源
<p ng-hide="{{foo.bar}}">I could be shown, or I could be hidden</p>
<p ng-show="{{foo.bar}}">I could be shown, or I could be hidden</p>
结果
<p ng-hide="true">I should be hidden but I'm actually shown</p>
<p ng-show="true">I should be shown but I'm actually hidden</p>
这要么是一个错误,要么是我没有正确执行此操作。
我找不到任何关于将对象参数引用为表达式的相关信息,所以我希望任何对 AngularJS 有更好理解的人都可以帮助我?
【问题讨论】: