Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度显示隐藏闪烁_Angularjs - Fatal编程技术网

Angularjs 角度显示隐藏闪烁

Angularjs 角度显示隐藏闪烁,angularjs,Angularjs,我在单击两个元素时切换它们的可见性。一个非常简单的用例: <div ng-hide="filtersOpened" ng-click="filtersOpened=true"> filters (opened) </div> <div ng-show="filtersOpened" ng-click="filtersOpened=false"> filters (closed) </div> 过滤器(打开)

我在单击两个元素时切换它们的可见性。一个非常简单的用例:

<div ng-hide="filtersOpened"
     ng-click="filtersOpened=true">
    filters (opened)
</div>
<div ng-show="filtersOpened"
     ng-click="filtersOpened=false">
    filters (closed)
</div>

过滤器(打开)
过滤器(关闭)
变化发生了,但它会闪烁,因此在很短的时间内,我看到两个元素一起出现


我如何才能使变化表现得更好、更流畅,而不闪烁?我已经读过关于ng CLOCK的内容,但似乎与此无关,因为我没有使用模板。

如果:

<div ng-if="filtersOpened" ng-click="filtersOpened=true">
    filters (opened)
</div>
<div ng-if="!filtersOpened" ng-click="filtersOpened=false">
    filters (closed)
</div>

过滤器(打开)
过滤器(关闭)

如果出现以下情况,可以尝试使用ng:

<div ng-if="filtersOpened" ng-click="filtersOpened=true">
    filters (opened)
</div>
<div ng-if="!filtersOpened" ng-click="filtersOpened=false">
    filters (closed)
</div>

过滤器(打开)
过滤器(关闭)

我不知道您在哪里测试。。。但这个plunker对我来说效果很好:它对我来说不会闪烁,即使在内部有大量内容的大型应用程序上也是如此divs@LucasRodriguez我知道,在普朗克也对我有用。但由于某些原因,在我的应用程序中,它没有t@gyc我的应用程序相当大。。。我认为这可能与观察者的数量有关,但即使我隐藏应用程序的一些复杂区域以减少观察者,只是为了测试,这个特定的问题仍然存在…我不知道你在哪里测试。。。但这个plunker对我来说效果很好:它对我来说不会闪烁,即使在内部有大量内容的大型应用程序上也是如此divs@LucasRodriguez我知道,在普朗克也对我有用。但由于某些原因,在我的应用程序中,它没有t@gyc我的应用程序相当大。。。我认为这可能与观察者的数量有关,但即使我隐藏应用程序的一些复杂区域以减少观察者,只是为了测试,这个特定的问题仍然存在。。。