fix(fast-element-1): some template bindings not properly being marked as volatile #6966
Labels
status:needs-investigation
Needs additional investigation
status:under-consideration
Issue is being reviewed by the team.
🐛 Bug Report
Some bindings that should be marked as volatile are not, so changes may not be properly detected.
??
. This means a binding expression such asx => x.foo ?? x.bar
might miss changes tobar
.HTMLBindingDirective
constructor tests the stringified binding function for volatility, rather than the parsed parts of the aggregate expression.💻 Repro or Code Sample
The following binding expressions will not reliably detect changes:
my-attr="${x => x.foo ?? x.bar}
because nullish coalescing does not match the regexmy-attr="foo ${x => x.bar && x.baz}
because aggregate bindings are never marked volatilemy-attr="foo ${x => x.bar || x.baz}
because aggregate bindings are never marked volatile🤔 Expected Behavior
Attributes should always be updated when a value in the binding expression changes.
😯 Current Behavior
Attributes are not always updated when a value in the binding expression changes.
💁 Possible Solution
🔦 Context
Discovered during resolution of ni/nimble#1839
The text was updated successfully, but these errors were encountered: