簡體   English   中英

什么時候應該使用angular指令而不是html本機標記?

[英]When should prefer angular directive over html native tag?

我是angularjs的忠實擁護者,最近我開始在我的所有“ 有趣編碼 ”項目中使用它。 我有一個很大的好奇心:

我有兩個輸入,一個被ng-disabled指令禁用,另一個被html標簽禁用(此鏈接中有一個更好的說明):

//...

<input type="text" disabled value="This is an html input text disabled" />
<input type="text" ng-disabled="true" value="disabled with angular js directive" />

//...

使用瀏覽器功能,我可以右鍵單擊輸入並刪除禁用和ng-disabled標記,但是只有一個帶有禁用標記的標記是可編輯的,即使刪除了ng-disabled指令,也將按角度跟蹤另一個標記。

那么,什么時候以及為什么我比本地HTML標簽更喜歡使用ng指令? 讓角度跟蹤所有這些動作可能會產生什么影響? 到處使用它真的值得嗎?

如果要使指令靜態,則應使用本機html

<your-tag disable><your-tag>

反對

<your-tag ng-disabled="true"><your-tag>

但是AngularJS無法以這種方式工作,您應該初始化應用程序和控制器,然后將變量作為參數傳遞給指令:

JS:

$scope.isDisabled = true;

HTML:

<your-tag ng-disabled="isDisabled"><your-tag>

您應該閱讀更多教程以使事情變得清晰

如果應始終禁用元素,請使用本地html'disabled'。 (靜態的,例如,如果您想提供帶有文本的輸入,並且永遠不要讓用戶更改它)
如果應根據范圍中的變量值進行更改,請使用角度。

例如,假設某個按鈕應更改輸入的狀態。

<input type="button" ng-click="inpDisabled = true" >Disable Input</input>
<input type="text" ng-disabled="inpDisabled" />

現場例子

如果您仍然使用ng-disabled="true"不會有任何危害,但這是多余的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM