Javascript AngularJS:ng显示与显示:无

Javascript AngularJS:ng显示与显示:无,javascript,css,angularjs,ng-show,Javascript,Css,Angularjs,Ng Show,我有一个用例,在默认情况下,我必须使用CSS隐藏HTML元素,如下所示: <div class="item" ng-show="show_element"> </div> HTML: 但是,我需要在页面加载后使用ng show切换元素的可见性,如下所示: <div class="item" ng-show="show_element"> </div> 但是,即使$scope.show\u element设置为true,该元素也不会变得可见,

我有一个用例,在默认情况下,我必须使用CSS隐藏HTML元素,如下所示:

<div class="item" ng-show="show_element">
</div>
HTML:

但是,我需要在页面加载后使用ng show切换元素的可见性,如下所示:

<div class="item" ng-show="show_element">
</div>

但是,即使
$scope.show\u element
设置为true,该元素也不会变得可见,也就是说,css属性将覆盖AngularJS的ng show。有没有办法让ng show获得更高的优先级


另外,您可能认为我可以将
$scope.show_元素
最初保留为false以隐藏它。但是在这种情况下,,从用户体验的角度来看,当页面加载时,我可以很短地看到元素。在您的情况下,使其工作的一种方法是使用
ng类
,在元素应该可见的情况下,您可以应用具有正确显示属性的类,即
display:block
,并且如果您遇到了速度慢的问题引导您可以使用
ng-clope
检查此处的文档

我只需更改类即可。Ng shows函数只是简单地添加或删除Ng hide类,该类的唯一属性是“display:none!important;”。更改类的css并不是一件容易的事

您可以简单地执行以下操作:

<div class="{{element_class}} item">
</div>

并使用display:block将元素\u class设置到您的类中

工作示例:

希望这能对你有所帮助

编辑:
不,太慢了,已经提到过两次了。

另一个简单的选择

style="{{show_element?'display:block !important':'display:none !important'}}"

如果您只是试图隐藏该项,以便在加载时不会得到闪存,那么您可以简单地将
ng show
打开时的
类设置为
显示:无
,而不是使用
.item
类设置为
.ng hide

AngularJS指令
ng show
通过向DOM元素添加或删除
.ng hide
类来工作。
.ng hide
类应用规则
display:none!重要的

<div class="ng-hide" ng-show="showElement">...</div>
。。。

改用ng类,并在某些情况下应用具有display:block的类cases@Kailas请阅读问题的最后一段。为什么不改为使用ng if?让我试试看,问题是,当ngshow设置为false时,我对元素有了非常简短的了解。让我看看ng-if.nah是否也是如此,仍然面临同样的问题。元素最初显示大约半秒钟,然后ng if才会启动。
ng斗篷
听起来像op的根本问题。但是,要知道angular需要在页面上加载才能生效。Angular不需要引导,但需要加载。否则,如果由于任何原因导致页面加载缓慢,您将需要自己使用css来定位属性。
<div class="ng-hide" ng-show="showElement">...</div>