Angular: AbstractControl.statusChanges 似乎不必要地触发

创建于 2016-08-09  ·  1评论  ·  资料来源: angular/angular

我正在提交一个...

[x] bug report

当前行为

因为Observer以“changes”绰号命名,所以我觉得AbstractControl.statusChanges应该只在状态实际发生变化时才发出值。 相反,它似乎在valueChanges运行时运行,除非将 _status_ 作为回调值。

预期/期望行为

它应该只在状态改变时触发。

问题的重现
http://plnkr.co/edit/UTPrVls36cTQjPpwYN2Q

改变行为的动机/用例是什么?
我通过分析我们的应用程序的一个额外的缓慢区域来发现它,这导致了一些 UI 延迟,所以我的主要抱怨是性能。

然而,将distinctUntilChanged运算符添加到订阅者以解决问题非常容易,但期望您不需要这样做,因此如果不进行测试就很容易错过。

请告诉我们您的环境:

  • 角度版本: 2.0.0-rc.4
  • 浏览器:全部
  • 语言:全部
forms feature medium obvious

最有用的评论

目前statusChanges每次计算状态时都会发出,不一定在它发生变化时发出。 我可以看出这可能会产生误导。 然而,改变它的行为对于所有表单用户来说都是一个非常大的突破性变化。 我们可能会添加一个新的事件发射器来区分两者。 我想了解谁会使用它来确定优先级。 更多的人感受到了这种痛苦吗? 用例?

>所有评论

目前statusChanges每次计算状态时都会发出,不一定在它发生变化时发出。 我可以看出这可能会产生误导。 然而,改变它的行为对于所有表单用户来说都是一个非常大的突破性变化。 我们可能会添加一个新的事件发射器来区分两者。 我想了解谁会使用它来确定优先级。 更多的人感受到了这种痛苦吗? 用例?

此页面是否有帮助?
0 / 5 - 0 等级