0
我有一個自定義指令,當我的頁面加載時必須隱藏,但後來如果用戶單擊它顯示指令的東西。但是,ng-hide
放置在指令所在的dom節點之外的父節點上。該指令需要運行一些代碼來放置其組件,但它必須在顯示父節點時運行它。我怎麼能得到通知的dom已經改變,現在正在顯示指令,所以我可以運行我的代碼來計算大小?當AngularJS指令被隱藏/顯示時收到通知?
如果我不隱藏指令,一切都很好。但是,如果我隱藏它。它無法正確渲染。
我有一個自定義指令,當我的頁面加載時必須隱藏,但後來如果用戶單擊它顯示指令的東西。但是,ng-hide
放置在指令所在的dom節點之外的父節點上。該指令需要運行一些代碼來放置其組件,但它必須在顯示父節點時運行它。我怎麼能得到通知的dom已經改變,現在正在顯示指令,所以我可以運行我的代碼來計算大小?當AngularJS指令被隱藏/顯示時收到通知?
如果我不隱藏指令,一切都很好。但是,如果我隱藏它。它無法正確渲染。
因此,雖然ng-show
或ng-hide
適用於簡單的DOM元素,但有時最好使用ng-if
,並且基本上會延遲渲染,直到滿足顯示條件。在大多數情況下,這將避免使用ng-hide
或ng-show
在背景中渲染時可能發生的錯誤渲染。
ng-if
被引入1.1.5
,它基本上是一個簡化的ng-switch
。它的靈感來自於Angular-UI
的ui-if
。
嘗試使用ng-if代替。 http://stackoverflow.com/questions/16741949/ngif-and-ngswitch-angularjs – finishingmove
ng-if似乎不可用。我把它放在元素上,什麼都沒有發生。 – chubbsondubs
我認爲它僅適用於1.1.5版本,所以要麼獲取該版本,要麼檢出具有UI的Angular-UI,如果這樣做的話。 @chubbsondubs – finishingmove