2014-07-01 33 views
25

我新學的角度JS能說NG-模型和數據-NG-模型差B/W NG-模型和數據-NG-模型

<!-- 
    First Name : <input type="text" ng-model="fname" id="fname"> 
    Second Name : <input type="text" ng-model="lname" id="lname"> 
    --> 

回答

5

最佳實踐:不想使用短劃線分隔的格式(例如,NG-綁定爲ngBind)。 如果您想使用HTML驗證工具,則可以使用數據前綴版本(例如ngBind的data-ng-bind)。上面顯示的其他形式因爲遺留原因而被接受,但我們建議您避免使用它們。

+0

在你的解釋中,最令我困惑的是哪個是最好的做法..它只是'ng-bind'嗎? –

+0

你可以同時使用,如果你想有HTML5的有效屬性使用data-ng -... – sylwester

11

他們是相差無幾。角從該屬性剝離data-部分。從the docs

角歸一化的元件的標記和屬性名稱,以確定哪些元素匹配的哪些指令...該歸一化處理如下:

  1. 地帶x-data-從元件的前/屬性。
  2. :,-_ -delimited名稱轉換爲camelCase
50

雖然ng-modeldata-ng-model都可以工作,但HTML5期望任何自定義屬性的前綴爲data-

<!-- not HTML5 valid --> 
<input type="text" ng-model="name"> 

<!-- HTML5 valid --> 
<input type="text" data-ng-model="name"> 
+2

這應該被視爲正確的答案。 –

8

ng-model和data-ng-model沒有區別。 實際上,'data'用作驗證HTML5驗證的前綴。所以,最好使用data-ng-model,但是你也可以使用ng-model。這也沒有問題。