让AngularJS指令符合html5规范打赏
先扫下盲,本文的主角——AngularJS,是Google开源的一款JavaScript MVC框架,弥补了HTML在构建应用方面的不足,其通过使用指令(directives)结构来扩展HTML词汇,使开发者可以使用HTML来声明动态内容,从而使得Web开发和测试工作变得更加容易。
AngularJS自诞生以来,吸引了大量的目光,也迅速成为了Web开发领域的新宠。最近尝试在项目中引入AngularJS,却发现AngularJS的指令都是ng为前缀的,对于这种自定义属性名称,各种IDE也理所当然的提示不存在之类的信息。对于我这种追求完美的人,在写任何自定义属性都开始加上data-前缀的情况下,实在是不能容忍这玩意儿。
本来想搜一下如何自定义默认指令前缀,想替换掉诸如ng-app、ng-model、ng-bind之类的指令,不料却没什么人提及此问题
,可能我想的问题不是问题吧,因为是半路学习,没时间从最基本的官方文档看起(更多是因为英文不好),就随便翻阅几篇技术文章,不料在学习中却无意间看到有人说自定义指令如果想符合HTML5规范,可以加上data-*或者x-*前缀,对指令本身不影响,至于x-*,我又不知道是什么玩意儿了,但至少我知道data-*可以满足我的要求,写个自定义指令试了试,果然可以,于是顺手试试默认指令,发现ng-app、ng-model、ng-bind这类默认指令也可以直接加上data-*的前缀,而且完全不用配置,不影响功能。
所以,如上所述,为了遵循HTML5规范,我们也可以使用data-ng-app、data-ng-model、data-ng-bind这样的属性来使用AngularJS的默认指令了。
最后,在初步了解之后才有勇气看一眼源码,这才傻傻的发现,原来程序里面是这样写的
var ngAttrPrefixes = ['ng-', 'data-ng-', 'ng:', 'x-ng-'];
所以说,ng-、data-ng-、ng:、x-ng-,都是可以生效的。
记录一下,给像我一样初学的朋友一个便捷
- 固定链接:https://www.poorren.com/angularjs-diretive-html-5
- 文章标签:angular,AngularJS,diretive,google
- 扫二维码:让AngularJS指令符合html5规范
- 版权所有:除"转载分享"分类外,未经注明,均为原创、整理,转载请注明出处。
很实用啊,谢谢了
很不错的啊
操作系统的亮点,但除了这些之外,默认ART架构,完美支持64位处理器也是安卓新一代操作系统的重要变化
不懂的,了解下