第一點區別是,
ng-if 在後面表示式為 true 的時候才建立這個 dom 節點,
ng-show 是初始時就建立了,用display:block 和 display:none 來控制顯示和不顯示。
第二點區別是,
ng-if 會(隱式地)產生新作用域,ng-switch 、 ng-include 等會動態建立一塊介面的也是如此。
這樣會導致,在 ng-if 中用基本變數繫結 ng-model,並在外層 div 中把此 model 繫結給另乙個顯示區域,內層改變時,外層不會同步改變,因為此時已經是兩個變數了。
針對第二點,如果想傳遞給外層的model,則在ng-if的ng-model中加乙個$parent即可,如下:
"子"環境
內層顯示ng-if的model: }
在外層顯示ng-if中的model: }
});
參考**:
angular中ng if和 watch衝突問題
問題 專案中需要通過按鈕控制div的顯示和隱藏,開始選用的ng if控制,但是div中還需要用 watch監聽select框的變化,發現無法監聽到select中的資料變化 1 由於該select在別的模組中也是通過 watch監聽的,資料都正常,所以第一感覺就是ng if的問題 2 檢視ng if的...
ng show被隱藏的「功能」
在工作中由於手殘,少寫了乙個 導致了乙個驚人的事情,介面返回的內容被我莫名其妙的改了,所以頁面顯示也很有問題。說明 介面返回的字段是status abc ing html的內容 我是誰?我在哪?那麼此時頁面就會顯示,我是誰?原來,ng show 後面的判斷條件對status的值進行了賦值操作 居然還...
如何在ng if中取得ng model的值
來北京工作快乙個月了吧,專案是我感興趣的angular框架的,遇到和解決了一些坑。今個遇到的都是定義域的問題,首先是directive復用,scope衝突,需要配置scope引數,然後就是ng if會開闢一塊定義域 這也是ng if與ng show的一大區別 話不多說,上 一看便知。如何在ng if...