您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Angular.JS中指令ng-if的注意事項有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
前言
ng-if指令可以根據表達式的值true/false在DOM中真正生成或真正移除一個元素。如果賦值給ng-if的表達式的值是false,那對應的元素將會從DOM中移除,否則對應元素的一個克隆將被重新插入DOM中。
ng-if同ng-show和ng-hide指令最本質的區別是,它不是通過CSS顯示或隱藏DOM節點,而是真正生成或移除節點。
當一個元素被ng-if從DOM中移除,同它關聯的作用域也會被銷毀。而且當它重新加入DOM中時,會通過原型繼承從它的父作用域生成一個新的作用域。
這樣會導致,在 ng-if 中用基本變量綁定 ng-model ,并在外層 div 中把此 model 綁定給另一個顯示區域,內層改變時,外層不會同步改變,因為此時已經是兩個變量了。
示例代碼:
<p>{{name}}</p> <div ng-if="true"> <input type="text" ng-model="name" /> </div>
ng-show 不存在此問題,因為它不自帶一級作用域。
避免這類問題出現的辦法是,始終將頁面中的元素綁定到對象的屬性(data.x)而不是直接綁定到基本變量(x)上。詳見 AngularJS 中的作用域
關于“Angular.JS中指令ng-if的注意事項有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。