我正在更新一個很長的數組,它具有複雜的計算,可能需要一兩秒鐘。如何告訴angularjs停止觀看變量一段時間?
在陣列變化時(即在不同的算法步驟中),角度不斷更新每個中間步驟的UI。
我該如何要求角度停止爲這個變量尋找一秒或兩秒的變化,並在完成後再次開始觀看?
我正在更新一個很長的數組,它具有複雜的計算,可能需要一兩秒鐘。如何告訴angularjs停止觀看變量一段時間?
在陣列變化時(即在不同的算法步驟中),角度不斷更新每個中間步驟的UI。
我該如何要求角度停止爲這個變量尋找一秒或兩秒的變化,並在完成後再次開始觀看?
我該如何請求角度停止尋找這個變量的變化 一兩秒鐘,並在我完成後再次開始觀看?
假設你指的是2個數據的控制器範圍可變和視圖之間的結合,一個解決辦法是將做關範圍的計算中的控制器變量,然後分配該變量的範圍之後。在「兩秒鐘」的計算正在發生,消化週期不會變觸發這樣:
// making copy so we are not passing by reference (array or object)
var localCopyOfVar = angular.copy($scope.complexArray);
// do complex stuff with localCopyOfVar
// ...
// assign finished work back onto scope variable
$scope.complexArray = localCopyofVar;
如果您在HTML標記中使用{{ }}
,則無法停止手錶。如果你創建了$看自己,你可以停止和重新啓動後是這樣的:
var watchFunction = ... blahBlah ...
var stopWatch = scope.$watch('foo', watchFunction)
stopWatch()
您可以最小化/消除做所有的更新在單個屏幕上閃爍通過不使用$超時消化。
試圖隱藏用戶界面的一部分,直到所有的步驟都是通過引入新的$完整範圍變量和'ng-show' – RandomUser 2014-12-05 06:20:11