我已經爲Angular創建了一個指令來知道ng重複何時完成。我發現最常見的解決方案就像是使用here - Calling a function when ng-repeat has finished在splice()元素完成時重複的角度指令
但是,爲什麼指令只是在添加元素時觸發,而不是在刪除時觸發?
Here - ng-repeat list in Angular is not updated when a model element is spliced from the model array我看到有關使$範圍的一些建議。$應用,但仍然沒有工作,因爲它說「$已經在進行中適用」
我創建 here - a Plunker在那裏你可以複製它。
非常感謝!
感謝@Harijs,我使用一個指令而不是$ watch,因爲$ watch在渲染之前觸發。當ng-repeat元素的渲染完成時,我需要調整元素的大小。 –
那麼,如果你想避免初始觸發器,你可以設置你的$ watch功能,例如, ng文檔實際顯示它的方式(http://docs.angularjs.org/api/ng/type/$rootScope.Scope) '$ scope。$ watch('myvar',function(newValue,oldValue){ if(newValue!== oldValue){ // do your thing } });' –
我不是說初始觸發器。我的意思是,當我做一個array.push()時,首先它會觸發手錶,然後呈現新元素(這是什麼意思)。但是當ng-repeat的所有元素都被渲染時,我需要調用我的resize()函數。 –