当我的应用程序启动时,我从服务器加载一些设置.在做任何有用的事情之前,我的大多数控制器都需要这个.我想尽可能地简化控制器的代码.我的尝试无效,是这样的:
app.factory('settings', ['$rootScope', '$http', '$q', function($rootScope, $http, $q) {
var deferred = $q.defer();
$http.get('/api/public/settings/get').success(function(data) {
$rootScope.settings = data;
deferred.resolve();
});
return deferred.promise;
}]);
app.controller('SomeCtrl', ['$rootScope', 'settings', function($rootScope, settings) {
// Here I want settings to be available
}]);
Run Code Online (Sandbox Code Playgroud)
我想避免有很多settings.then(function()...)无处不在.
关于如何以一种很好的方式解决这个问题的任何想法?
angularjs ×1