Javascript AngularJS:ng显示与显示:无
我有一个用例,在默认情况下,我必须使用CSS隐藏HTML元素,如下所示: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,该元素也不会变得可见,
<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>