Angular.js задерживает инициализацию контроллера
Я хотел бы отложить инициализацию контроллера до тех пор, пока с сервера не поступят необходимые данные.
Я нашел это решение для Angular 1.0.1:Задержка изменения маршрута AngularJS до загрузки модели для предотвращения мерцания, но не могработать с Angular 1.1.0
шаблон
Editor Template {{datasets}}
JavaScript
function MyCtrl($scope) {
$scope.datasets = "initial value";
}
MyCtrl.resolve = {
datasets : function($q, $http, $location) {
var deferred = $q.defer();
//use setTimeout instead of $http.get to simulate waiting for reply from server
setTimeout(function(){
console.log("whatever");
deferred.resolve("updated value");
}, 2000);
return deferred.promise;
}
};
var myApp = angular.module('myApp', [], function($routeProvider) {
$routeProvider.when('/', {
templateUrl: '/editor-tpl.html',
controller: MyCtrl,
resolve: MyCtrl.resolve
});
});