Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

RELEASE: Document behavior change in watchGroup in master #16024

Closed
@Narretz

Description

@Narretz

I'm submitting a ...

  • bug report
  • feature request
  • other (Please do not submit support requests here (see above))

Current behavior:
In 1.6, a watchGroup, every expression is watched individually, and this means the oldValue in the actionFn only changes if the underlying expression has changed. This means if expression 2 changes, but expression 1 does not, in the next actionFn invocation, the oldVal / newVal for expression 1 will be the same as in the last invocation. This is logical, but unexpected since watch and watchCollection don't have this behavior. It also makes it impossible to see which expression has changed before the current invocation.

In master, the behavior is consistent with watch / watchCollection in a way that the oldVal / newVal diff is based on the invocation of the actionFn. However, now the oldVal can be the same as the newVal once the expression has changed at least once, which will never happen in watchC or watch after the first invocation.

This was changed accidentially (I assume) in c2b8fab

The validity of the 1.6 behavior has been discussed and approved here #8671 (comment)

Expected / new behavior:
Either:

  • revert the change
  • mark the new behavior as intended.
    • This needs new tests (the commit didn't break any tests, so there must be some missing)
    • identying possible BCs and workarounds
    • an update of the changelog

Minimal reproduction of the problem with instructions:
http://plnkr.co/edit/sFO6B2zUhRwwF9bkrxe3?p=preview

Angular version: master

Browser: [all | Chrome XX | Firefox XX | Edge XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Anything else:

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions