Closed SgLy closed 3 months ago
The core problem is that sometimes we pass update path tree like { a: undefined }
or [undefined, undefined]
as a dynamic property value. Currently we treat them as updated, which is inaccurate.
We have two approaches to solve this problem.
replaceProperty
calls. This might be costy when the update path tree is large.The approach 1 cannot solve this case {{ 'xxx' + { f: a } }}
, so it is not perfect. Approach 2 is preferred.
Literal values in template like
arr-prop
in<component arr-prop="{{ [valueA, valueB] }}">
are always treated as updated, regardless of whethervalueA
andvalueB
are updated or not. This may lead to unrelated data updates triggering property observers.Maybe better to let a literal value stay not updated when all its member is not updated?