Details of the naming rules of the directive in ES0en. JS
- 2020-06-03 09:07:36
- OfStack
Naming conventions
The same AngularJS directive has different naming conventions in js and html files: the standard little camel case naming convention is used in js files and the "lowercase letter + connector" naming convention is used in html files. See the table below
在js文件中 | 在html文件中 |
---|---|
ngApp | ng-app |
myDirective | my-directive |
Processing mechanism
AngularJS chose this naming because the html file is case-insensitive while the js file is case-sensitive (myDir and mydir are different instructions in the js file, but html appears to be the same instruction), so the above naming specification is used to avoid possible errors.
During the execution of AngularJS, the naming of "lowercase letter + connector" is processed as follows, and finally replaced with the small hump naming method:
Remove the beginning x- and data-; The first word remains the same. Convert the first letter of the word after the connector to uppercase and remove the connector.Here are two things to note:
Do not name the directive x or data as the first word Supported linkers include :,- and _, but are usually selected as linkersName an attribute in a scoped object
The attribute naming rules in the directive isolation scope object are the same as above, see the following code:
.directive('myDirective', function() {
return {
restrict: 'A',
scope: {
myUrl: '@', // The attributes in the isolated scope object are named the small hump naming
myLinkText: '@'
},
template: '<a href="{{myUrl}}">{{myLinkText}}</a>'
})
<div my-directive
my-url="http://google.com" <!-- html Use "lowercase" in the file + The name of the "separator" -->
my-link-text="Click me">
</div>
conclusion