AngularJS 1.1.5,Internet Explorer和带对象的ng-show(Bug)

时间:2013-12-30 05:09:46

标签: internet-explorer angularjs

最近我的应用中出现了一个错误。显示了一个盒子,但它不应该。它以这种方式初始化:

<div ng-show="NewGroup">...</div>

和幕后

$scope.NewGroup = null;

但是Internet Explorer(9和10都是如此顽固)总是显示这个盒子。解决方案是将显示/隐藏链接到 $ location 对象。

有没有人遇到过这个问题?处理它的最佳方法是什么?它是IE bug还是Angular bug?

2 个答案:

答案 0 :(得分:1)

我总是添加hide类以确保在加载时隐藏元素,同时将css类添加为页面的内联样式:

<style>
    .ng-hide { display: none!important; }
</style>
...
<div ng-show="NewGroup" class="ng-hide">...</div>

答案 1 :(得分:0)

已发现问题。这个星座:IE 10 +,AngularJS和textareas似乎是错误的。

<textarea ng-model="NewGroup.description" placeholder="Some placeholder"></textarea>

评估为

$scope.NewGroup = { description: "" }

并导致显示框。关闭textarea节点本身就解决了这个问题。

<textarea ng-model="NewGroup.description" placeholder="Some placeholder" />