Angular: AbstractControl.statusChanges parece disparar desnecessariamente

Criado em 9 ago. 2016  ·  1Comentário  ·  Fonte: angular/angular

Estou enviando um ...

[x] bug report

Comportamento atual

Porque Observer é nomeado com um moniker "changes", eu sinto que AbstractControl.statusChanges deveria apenas emitir valores sempre que o status realmente mudou. Em vez disso, parece ser executado sempre que valueChanges é executado, exceto com _status_ como um valor para o retorno de chamada.

Comportamento esperado / desejado

Ele só deve disparar quando o status for alterado.

Reprodução do problema
http://plnkr.co/edit/UTPrVls36cTQjPpwYN2Q

Qual é a motivação / caso de uso para mudar o comportamento?
Eu descobri criando o perfil de uma área extra lenta de nosso aplicativo que causou algum atraso na interface do usuário, então minha principal reclamação seria o desempenho.

No entanto, é terrivelmente fácil adicionar uma operadora distinctUntilChanged ao assinante para corrigir o problema, mas a expectativa é que você não precise fazê-lo, então é fácil perder sem o teste.

Conte-nos sobre o seu ambiente:

  • Versão angular: 2.0.0-rc.4
  • Navegador: todos
  • Idioma: todos
forms feature medium obvious

Comentários muito úteis

Atualmente statusChanges emite cada vez que o status é calculado, não necessariamente quando ele muda. Posso ver como isso pode ser enganoso. No entanto, mudar seu comportamento seria uma grande mudança revolucionária para todos os usuários de formulários. Poderíamos possivelmente adicionar um novo emissor de evento para distinguir entre os dois. Gostaria de ter uma ideia de quem usaria isso para estabelecer prioridades. Mais pessoas sentindo a dor disso? Casos de uso?

>Todos os comentários

Atualmente statusChanges emite cada vez que o status é calculado, não necessariamente quando ele muda. Posso ver como isso pode ser enganoso. No entanto, mudar seu comportamento seria uma grande mudança revolucionária para todos os usuários de formulários. Poderíamos possivelmente adicionar um novo emissor de evento para distinguir entre os dois. Gostaria de ter uma ideia de quem usaria isso para estabelecer prioridades. Mais pessoas sentindo a dor disso? Casos de uso?

Esta página foi útil?
0 / 5 - 0 avaliações