You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When binding structured data (e.g. {{item.type}}) to an element, if a new item is assigned that no longer has a sub-property where the previous object did (e.g. item goes from {name: 'foo', type: 'zaz'} to {name: 'bar'}, an undefined value will be pushed through the binding to the element. Since undefined has special meaning, especially for multi-property observers which are not called until all properties are defined, this can result in unexpected state.
…1742
This takes advantage of the fact that single property observers are called for each change (including undefined), whereas multi-property observers wait for all properties to be defined. Since the side-effect of the observe is to queue an async render, there is no real benefit from this being a multi-property observer. #1946 is open to track a more general fix for this issue.
When binding structured data (e.g.
{{item.type}}
) to an element, if a new item is assigned that no longer has a sub-property where the previous object did (e.g. item goes from{name: 'foo', type: 'zaz'}
to{name: 'bar'}
, anundefined
value will be pushed through the binding to the element. Sinceundefined
has special meaning, especially for multi-property observers which are not called until all properties are defined, this can result in unexpected state.See use case at #1742 and proposed fix in #1941
The text was updated successfully, but these errors were encountered: