-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[Infra] Consistency in directive/component selectors #5794
Comments
IIRC the plan is to use kebab-case for component selectors and camelCase for directives. Unfortunately I can't find where I read that - this is the best I found #2636 (comment) |
@andrewseguin is already in the middle of making sure all of the selectors are consistent. It is true that
|
For consistency as a developer using the angular material framework, why does it matter if it is a component or a directive? That's an implementation detail most user's won't care about. Isn't what matters when you are writing html code is weather or not it is an element or an attribute?
It feels like md-button should be mdButton, and md-menu-item should be mdMenuItem. Also, md-list-item is a component with selector |
In my humble opinion, I think everything should be consistent regardless if it's a component or a directive. Otherwise, it would be very confusing. |
In 2.0.0-beta.10, there is a deprecation notice for
And you find comments like this throughout the repository issues and PRs: The picture is incomplete:
For example, take a look at the card module, you have directives that have different kind of selectors:
There should be some clear guidelines on how to choose between using an @jelbourn, are there publicly available notes from discussion that you talk about in the linked comment? |
Realted: #3125 |
Bug, feature request, or proposal:
I'm not sure what it's. Maybe a proposal?
What is the expected behavior?
Maybe explain why some selectors are camelCase and others not?
What is the current behavior?
Currently there are kebab-case selectors, such as:
md-button
,md-icon-button
and selectors in camelCase:mdInput
,mdPrefix
,mdSuffix
.I'm just wondering about the standard here. Why not make everything kebab-case or camelCase? Is there any reason behind the scenes?
Still about consistency, currently we use the native input (for inputs type text, number, etc.), native textarea and native button with their respective directives, but... for inputs type radio, checkbox, "slide-toggle" and also for select, option, etc, we have to use a, let's call it, non-native way. Have you ever considered allowing us to use the native elements for them also?
As an example, for radio, we could have something like:
The text was updated successfully, but these errors were encountered: