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
NGF开关和ngIf在Angularjs 1.2.0-rc1中闪烁_Angularjs - Fatal编程技术网

NGF开关和ngIf在Angularjs 1.2.0-rc1中闪烁

NGF开关和ngIf在Angularjs 1.2.0-rc1中闪烁,angularjs,Angularjs,最近迁移到1.2.0-rc1,对此非常满意。特别是对于ngIf,与ngShow相比,它可以大大提高渲染性能。 除了布尔值改变时会有一些闪烁。有关示例,请参见下面的plunkr: 在Chrome(v28)上,您会看到前两个实现会闪烁,而其他两个则不会。 在Firefox上,闪烁很少发生 这正常吗?有没有办法避免这种情况?我应该继续使用ngShow 编辑: 正如sza所说,ngIf和ngSwitch修改DOM,而ngShow使用css规则显示/隐藏元素。在angular 1.0.7中,ngSwit

最近迁移到1.2.0-rc1,对此非常满意。特别是对于
ngIf
,与
ngShow
相比,它可以大大提高渲染性能。 除了布尔值改变时会有一些闪烁。有关示例,请参见下面的plunkr:

在Chrome(v28)上,您会看到前两个实现会闪烁,而其他两个则不会。 在Firefox上,闪烁很少发生

这正常吗?有没有办法避免这种情况?我应该继续使用
ngShow

编辑: 正如sza所说,ngIf和
ngSwitch
修改DOM,而
ngShow
使用css规则显示/隐藏元素。在angular 1.0.7中,
ngSwitch
已经存在,并且已经在修改DOM,这非常好,因为我们经常使用它来代替
ngShow
,以避免对未显示的内容进行昂贵的渲染。 现在,如果您查看,您将看到ngSwitch从1.0.7开始没有闪烁


我期望的答案是“这是正常的行为,你正在使用
ngSwitch
ngIf
而它们不应该被使用,只有静态内容应该用
ngSwitch
ngIf
显示”或者“这是一个渲染错误,在修复之前一直使用它”。当然,解决方法也很好(@timp,我已经看到了你的答案,但恐怕我需要一个工作示例)。

如果你在AngularJS文档页面()上尝试ngIf演示,它与快速切换复选框时描述的问题相同


如果渲染方面的改进很重要,请尝试用两个布尔值替换选中的
。通过这种方式,您可以指定首先计算ngIf的顺序。这是一种痛苦,但它确实起到了作用。

如果您在AngularJS文档页面()上尝试ngIf演示,它的问题与您在快速切换复选框时描述的问题相同


如果渲染方面的改进很重要,请尝试用两个布尔值替换选中的
。通过这种方式,您可以指定首先计算ngIf的顺序。这是一种痛苦,但它确实起到了作用。

如果你查看源代码,你会发现
ngIf
ngSwitch
都与DOM操作有关,而
ngShowHide
只操作CSS而不是DOM


我想DOM操作在回流方面要比CSS更改稍微贵一些,而且在不同的浏览器中可能会有所不同

如果查看源代码,您将看到
ngIf
ngSwitch
都与DOM操作相关,而
ngShowHide
只操作CSS而不是DOM


我想DOM操作在回流方面要比CSS更改稍微贵一些,而且在不同的浏览器中可能会有所不同

我在google group上问了同样的问题,答案是这是动画模块中的一个bug:


删除对动画模块的依赖将修复闪烁现象。

我在google group上问了同样的问题,答案是这是动画模块中的一个bug:


删除对动画模块的依赖关系将修复闪烁。

它几乎看起来像是ng if单独计算,但ng show/ng HIDE合并在一起并同时计算。。。想知道更多关于这个!这里的人似乎真的处于前沿……似乎ng if的评估是独立的,但ng show/ng show的评估是集中在一起的,同时进行评估。。。想知道更多关于这个!这里的人似乎真的很前沿…对于你建议的解决方案,我需要一个示例,我不确定是否理解。对于你建议的解决方案,我需要一个示例,我不确定是否理解。顺便说一下,1.0.7的ng开关不会闪烁,这对我来说就像是一个回归。顺便说一句,从1.0.7开始的ng开关不会闪烁,所以这对我来说就像是一个回归。已从rc2修复。已从rc2修复。