[英]Angular directive - when to prefer using a controller inside a directive?
[英]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.