-
Notifications
You must be signed in to change notification settings - Fork 424
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
Action parameters do not work if the controller identifier has any capital letter in it #561
Comments
Regardless of whether they're in If you replaced all instances of |
Thanks for your reply! If I do that find/replace both in the controller identifier and the data attribute then yes, it does behave as expected. After all, at that point it's the basic scenario the documentation talks about. The reason why we're using controller identifiers with capital letters is because we're using Typescript classes and we like to keep a consistent naming between the class name and what we see in the HTML template, so that there's a nice 1:1 mapping and no indirection. This works well everywhere ([data-action], [data-controller], [data--target], [data--value]), only with params it does not (because there the controller identifier matching is not case insensitive). What do you think? |
I agree that it should be consistent either full support or not . Since this was the original behavior for other attributes, we should update the params API with that case insensitive regex. |
I got the issue with an upperCase folder inside controllers :
|
It is easier to follow conventions |
Even though this is not the "recommended way" to specify the data attributes for the params it's to match the existing behaviour of Actions, Controllers, Targets and Values. Resolves hotwired#561
Even though this is not the "recommended way" to specify the data attributes for the params it's to match the existing behaviour of Actions, Controllers, Targets and Values. Resolves #561
Hi Stimulus team, and thanks for your amazing work.
Sorry for not having replied on time, but referring to my previous issue: #558 I think I did not explain clearly my problem, so I will try to do it now.
Problem: when the controller identifier has any capital letter in it, params are not passed to the triggered action.
This is a code snippet that reproduces the issue:
The result is that
undefined
is printed, even though the parameterfoo
should have valuebar
If you change the controller name to
camelcase
, thus removing capital letters both in html and js, things will work as documented.I believe this is an issue because other features of the framework (i.e. targets and values) work even when the controller identifier is not all lowercase.
If you confirm this is something to be fixed, I can open a PR for this.
Thanks!
The text was updated successfully, but these errors were encountered: