New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(compose): passthrough bindings + support containerless #1792
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1792 +/- ##
==========================================
+ Coverage 88.43% 88.45% +0.02%
==========================================
Files 245 247 +2
Lines 22335 22360 +25
Branches 5191 5199 +8
==========================================
+ Hits 19751 19778 +27
+ Misses 2584 2582 -2
... and 1 file with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks awesome to me. I made a few brief suggestions for the docs. Nothing overly dramatic!
Co-authored-by: Dwayne Charrington <dwaynecharrington@gmail.com>
**Features:** * **compose:** passthrough bindings + support containerless (#1792) ([e8e39a9](e8e39a9)) * **template:** access global (#1790) ([2486b58](2486b58)) **Bug Fixes:** * **router-lite:** handling slash in parameter value (#1805) ([3fbb698](3fbb698)) * **au-slot:** correctly prepare resources for slotted view (#1802) ([bf1ca4c](bf1ca4c)) * **router-lite:** e2e build ([a1ca36d](a1ca36d)) **Refactorings:** * **ref:** deprecate view-model.ref and introduce component.ref (#1803) ([97e8dad](97e8dad)) * **text-binding:** always evaluate expressions in strict mode (#1801) ([15acfee](15acfee)) * **router-lite:** query in fragment when using useUrlFragmentHash option (#1794) ([a1ca36d](a1ca36d)) * ***:** bindable property -> name (#1783) ([ca0eda7](ca0eda7)) * **router-lite:** optimize object creation (#1782) ([c1ef0a3](c1ef0a3))
📖 Description
At the moment,
<au-compose/>
does not "pass through" bindings declared on the<au-compose>
element. This creates undesirable workaround and sometimes, limitation. This is also a frequently requested feature of v1. This PR adds the ability to pass through all bindings declared on<au-compose/>
to the composed custom element, so that it is as if the bindings, even bindable properties, were declared on the custom element itself.<au-compose/>
will throw. Remove this constraint and containerless composition will just work as normal. This effectively make<au-compose/>
as natural as a normal custom element usage, except it's more dynamic.cc @Sayan751 @fkleuver
Resolves #497