2015-01-27 3 views
1

Я новый с угловым маршрутизатором ui.Angularjs доступ к корню в разрешении

У меня проблемы с настройками загрузки из локального файла .json.

Я сохраняю настройки на app.run() в $ rootscope.settings.

.run(['$rootScope', '$http', '$state', '$stateParams', function ($rootScope, $http, $state, $stateParams) { 
    $rootScope.$state = $state; 
    $rootScope.$stateParams = $stateParams; 

    $http.get('./App/Core/Config/config.json').success(function (data) { 
     $rootScope.settings = data; 
    }); 

}]) 

перед тем, как перейти в $ state Мне нужна настройка из $ rootscope.settings, чтобы получить данные. Но в разрешении $ rootscope.settings недофинансируется.

.state('alertcenter', { 
      url: '', 
      views: { 
       'alertcenter': { 
        templateUrl: './App/Features/AlertCenter.html', 
        controller: 'AlertCenter' 
       } 
      }, 
      resolve: { 
       Data: ['$http', function ($http) { 
        return $http({ 
         method: 'GET', 
         url: $rootScope.settings.baseUrl + '/getData', 
         withCredentials: true 
        }); 
       }] 
      } 
     }); 

Как я могу получить доступ к настройкам в разрешении $ state? Или есть другой лучший способ?

+0

не могли бы вы поместить код в plnkr? – user3722785

ответ

5
resolve: { 
       Data: ['$http','$rootScope', function ($http, $rootScope) { 
        return $http({ 
         method: 'GET', 
         url: $rootScope.settings.baseUrl + '/getData', 
         withCredentials: true 
        }); 
       }] 
      } 

Попробуйте сначала вставить функцию $ rootScope в функцию разрешения.

Смежные вопросы