Angular.JS中指令的命名规则详解

(编辑:jimmy 日期: 2025/5/20 浏览:2)

命名规范

同一个AngularJS指令,在js文件和html文件中有着不同的命名规范:在js文件中使用标准的小驼峰命名法,在html文件中使用“小写字母+连接符”的命名法。如下表所示

在js文件中 在html文件中 ngApp ng-app myDirective my-directive

处理机制

AngularJS之所以选择这样的命名方式,是因为html文件不区分大小写,而js文件则对大小写敏感(myDir和mydir在js文件中是不同的指令,但html看来是同一个指令),为了避免可能出现的错误,所以使用上述命名规范。

AngularJS执行过程中,对“小写字母+连接符”形式的命名做如下处理,最终装换成小驼峰命名法:

  • 去掉开始部分的x-和data-;
  • 第一个单词不变,把连接符后面的单词首字母转换成大写,去掉连接符。

这里有两点需要注意:

  • 指令命名时不要以x或data作为第一个单词
  • 支持的链接符包括:,-和_,但通常会选择-作为连接符

隔离作用域对象中的属性命名

指令隔离作用域对象中属性命名规则同上,见下面代码:

.directive('myDirective', function() {
 return {
 restrict: 'A',
 scope: {
  myUrl: '@', // 隔离作用域对象中属性命名为小驼峰命名法
  myLinkText: '@'
 },
 template: '<a href="{{myUrl}}">{{myLinkText}}</a>'
})
<div my-directive
  my-url="http://google.com" <!-- html文件中使用“小写字母+分割符”的命名方式-->
  my-link-text="Click me">
</div>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?