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
{{ message }}
Repository navigation
Allow definition of targets in kebab-case but access via camelCase #187
For attributes, I define in the markup data-my-attr-name and in the controller as @attr myAttrName
For targets however, I have to define the target name in both the markup and the controller using camelCase: data-targets="my-controller.myTargetsName" and @targets myTargetsName
I think it would be nice (more consistent?) if the markup could support kebab-case.
This sounds like it might be a breaking change. If we're making a breaking change I wonder if we can really think about improving ergonomics for actions, targets and attrs to make them all consistent?
maybe attrs can drop the data- prefix? This felt like a safe choice but it's quite ugly
how bad would it be to remove the transformation altogether? Such that @attr fooBar mapped to the html attribute fooBar? IIRC attributes are case insensitive which could cause problems 🤷♂️
Activity
keithamus commentedon Mar 11, 2022
Thanks @erinnachen thats some great feedback!
This sounds like it might be a breaking change. If we're making a breaking change I wonder if we can really think about improving ergonomics for actions, targets and attrs to make them all consistent?
data-prefix? This felt like a safe choice but it's quite ugly@attr fooBarmapped to the html attributefooBar? IIRC attributes are case insensitive which could cause problems 🤷♂️rccc commentedon Dec 19, 2022
Hello,
Let me add a comment about syntax :
Why
data-targets="my-controller.myTargetsName"rather than
data-targets="myTargetsName"like stimulus (without "my-controller") ?Is that the component root element does not corresponds to controller element ("this.element") in stimumlus ?
Thanks in advance
Eric