我正在更新$範圍上的一個按鈕單擊,基本上使一個Restangular調用,獲取數據並填充$ scope變量。防止按鈕點擊,而摘要循環運行在角
但是,如果用戶在運行$ digest循環時多次單擊該按鈕,$ scope將被更新爲重複值。
我很確定這是一個常見問題。不過,我還沒有遇到過一個解決方案,我正在尋找。
人們建議使用$timeout
,但它似乎反邏輯。
我寧願在$digest
週期運行時關閉按鈕。
這是我到目前爲止所實施的。
$scope.names = [];
$scope.disableButton = true;
FetchNames.getAllNames().then(function(result){
result.data.forEach(function(name){
$scope.names.push(name);
});
$scope.disableButton = false;
});
在這裏,當承諾得到解決時,按鈕被禁用。 但這並不能解決我的問題。我需要檢查摘要週期何時完成。
這將對你有用,我認爲是這樣http://stackoverflow.com/questions/21138388 /角JS-識別-的消化完成事件和移除,從-URL-在棱角 –
我不明白爲什麼'$ timeout'是對子級「反邏輯」,因爲它等待摘要循環在觸發回調之前完成。 – cbass
cbass,它不會再次運行摘要循環嗎? –