我的控制器從兩個外部JSON文件中獲取數據,對其進行過濾,然後在視圖上進行渲染。但是整個操作需要一些時間(大約30毫秒)並且首先加載視圖。所以數據不能被HTML代碼找到。AngularJS延遲視圖顯示
如何延遲加載我的視圖以便首先從控制器加載數據?或者也許有另一種解決方案?如果您使用多個HTTP請求上的$http
成功
$scope.ratePlansRelated = [];
$http.get('rooms.json').then(function(res){
$scope.rooms = res.data;
});
$http.get('ratePlans.json').then(function(res){
$scope.ratePlans = res.data;
});
// delay calling that function in order to load data from json first
setTimeout(assignRatePlans,25);
function assignRatePlans()
{
//filter data and assing it to $scope.ratePlansRelated here
}
使用像'$ scope.dataHasLoaded = FALSE '初始化隱藏你的視圖,然後當異步操作完成與'ng-if'一起設置爲'true'時 –
在你的情況下,我認爲更好的方法是使用路由的解析對象來加載異步數據,所以當控制器實例化後,您的數據將可用。告訴我,如果你正在使用ui路由器或簡單的ngRoute,我可以告訴你和例子。 –