讓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-,都是可以生效的。

記錄一下,給像我一樣初學的朋友一個便捷

讓AngularJS指令符合html5規范
文章《讓AngularJS指令符合html5規范》二維碼
  • 微信打賞
  • 支付寶打賞

已有3條評論

  1. 亦雙

    很不錯的啊

    2015-12-20 16:34 回復
  2. 鞍山

    操作系統的亮點,但除了這些之外,默認ART架構,完美支持64位處理器也是安卓新一代操作系統的重要變化

    2014-11-05 13:56 回復
  3. 鞋機

    不懂的,了解下

    2014-10-28 10:17 回復

(必填)

(必填)

(可選)

黑龙江22选5开奖