在我的代码中,ng-show在firefox上运行正常,而不是在IE 11上运行。
<div ng-show="isExist" class="panel panel-default">
并在控制器中
$scope.isExist = false;
if(user.name)
{
$scope.isExist = true;
}
我将$ scope.isExist视为false并且Div获取隐藏在ff / chrome上,但不会隐藏在ie11上。
答案 0 :(得分:0)
这真是一个CSS问题。 ng-show会将.ng-hide类添加到元素中。仔细检查面板和面板默认类,确保没有任何内容覆盖样式。
或者删除面板和面板默认类,它将起作用。
答案 1 :(得分:0)
对不起伙计们。它表现得很好。现在它开始正常工作了。我很确定它不是缓存问题,因为我已经清除了很多次。不知道出了什么问题。它现在工作正常。谢谢你的帮助。
答案 2 :(得分:0)
我遇到了 ng-show
无法在 Internet Explorer 中工作的同样问题。
official ngShow AngularJS documentation 提到了这一点,并为此提供了一些解决方法。
(我将复制粘贴该链接中提到的文本,以防该链接已过期或由于某种原因无法使用)
<块引用>当使用 ngShow
和/或 ngHide
在元素之间切换时,它
可能发生的情况是要显示的元素和要隐藏的元素都是
在很短的时间内可见。
这通常在包含 ngAnimate
模块时发生,但没有
实际动画是为 ngShow
/ ngHide
定义的。互联网
Explorer 比其他浏览器更容易受到影响。
有几种方法可以缓解这个问题:
ngIf
或 ngSwitch
代替 ngShow
/ ngHide
。ng-hide.ng-hide-animate
在受影响的元素上设置 {display: none}
或类似选项。ng-class="{'ng-hide': expression}
代替 ngShow
/ ngHide
。第二个建议(用 ng-show
替换 ng-if
)对我有用。所以在你的情况下,你可以考虑使用这个 -
<div ng-if="isExist" class="panel panel-default">