У меня есть приложение AngularJS и есть требование инициализировать данные из REST API до инициализации контроллера. Я использую «разрешение» в routeProvider, а также вводил соответствующее значение в контроллер, чтобы сделать эти данные доступными. Фрагменты кода заключаются в следующем:
RouteProvider фрагмент кода:
myApp.config(function($routeProvider) {
$routeProvider
....
.when('/account', {
templateUrl : path + 'admin/js/pages/inputs/account.html',
controller : 'mainController',
resolve: {
data: function() {
return $http.get(api_path + 'dashboard/get_accounts');
}
}
})
myApp.controller('mainController', function($scope,$http, data, $routeParams, DataService) {
...
console.log(data);
}
Консоль предполагается отображать данные по я получаю следующее сообщение об ошибке "Ошибка: [$ Инжектор: unpr] Неизвестный поставщик: DataProvider < - данные "
Ваша помощь очень ценится.
Хотя это не соответствует ошибке вы получаете, похоже, что вы забыли, чтобы ввести '$ http' в функцию Resolve для' data'. Не должно быть что-то вроде этого: 'data: function ($ http) {....}' –
На самом деле у него есть $ http-инъекция Sunil, я не включил его здесь для краткости –