使用ng-if/ng-show/ng-switch的Angular条件显示会简要地显示这两个元素
Angular conditional display using ng-if/ng-show/ng-switch briefly shows both elements
我想根据布尔值显示元素A或元素B,但是当值转换时,使用ng-if:
简短地显示两个元素<div ng-if="a"></div>
<div ng-if="!a"></div>
当我使用ng-show/ng-hide:
时也会发生这种情况<div ng-show="a"></div>
<div ng-hide="a"></div>
甚至ng-switch:
<div ng-switch="a || 'false'">
<div ng-switch-default></div>
<div ng-switch-when="false"></div>
</div>
是否有办法强制在同一时间只显示其中一个元素,或者这是不可能的?
(像我这样迟到的人迟到的答案)
我猜这个项目使用了ngAnimate
,导致了这些问题。
这个问题有几个答案,从删除ngAnimate
,改变相关的CSS和切换到使用ngClass
。
另一个问题有一个答案,建议使用$animateProvider
配置动画
改变为
<div ng-show="a == true">A</div>
<div ng-show="a == false">B</div>
<div ng-switch="a || 'false'">
<div ng-switch-default>A</div>
<div ng-switch-when="false">B</div>
</div>
<button ng-click="a = !a">Switch {{a}}</button>
检查这个提琴
相关文章:
- javascript来显示元素属性
- 使用JavaScript或jQuery隐藏和显示元素
- 如何在Angular JS中滚动显示元素
- 如何在使用jQuery应用display:none后正确显示元素
- 仅使用Javascript隐藏/显示元素,而不会弄乱DOM
- jQuery单击并显示元素列表
- 键盘没有在Android和BlackBerry中显示元素焦点
- 在CSS转换期间显示元素的大小值
- 当我们关注jQuery时,只显示元素
- 包含方法和突出显示元素的问题
- JS/JQuery隐藏元素,更改文本,显示元素
- 如何显示元素的一部分,并在单击时切换到所有元素
- 在隐藏元素中显示元素
- 当PROTRACTOR元素后面有元素时,我怎么能知道当前的显示元素
- 在mouseover上显示元素在mouseleave上隐藏
- jquery显示元素是否具有类和特定值的内容
- 不能在复选框旁边显示元素
- 动态显示元素上的JavaScript触摸端;不要开火
- 点击JQuery/HTML5显示元素的索引/位置
- AngularJS:如何默认显示元素,并在按下按钮时切换