使用ng-if / ng-show / ng-switch的角度条件显示简要显示两个元素

时间:2015-10-21 15:55:48

标签: javascript angularjs

我想根据布尔值显示元素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>

有没有办法强制同时只显示其中一个元素,或者这是不可能的?

2 个答案:

答案 0 :(得分:0)

更改为

<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>

选中此fiddle

答案 1 :(得分:0)

(像我这样迟到的人的迟到答案。)

我猜该项目使用了导致此类问题的 ngAnimate

This question 有几个答案,包括删除 ngAnimate、更改相关 CSS 和切换到使用 ngClass

Another question 的答案建议使用 $animateProvider 配置动画。