最近我的应用中出现了一个错误。显示了一个盒子,但它不应该。它以这种方式初始化:
<div ng-show="NewGroup">...</div>
和幕后
$scope.NewGroup = null;
但是Internet Explorer(9和10都是如此顽固)总是显示这个盒子。解决方案是将显示/隐藏链接到 $ location 对象。
有没有人遇到过这个问题?处理它的最佳方法是什么?它是IE bug还是Angular bug?
答案 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" />