app.jsУгловой маршрут решительности возвращение неопределенного
angular
.module('yelp',['ngRoute'])
.config(config);
config.$inject=['$routeProvider','YelpServiceProvider'];
function config($routeProvider){
$routeProvider
.when('/',{
})
.when('/restaurants',{
templateUrl:'partials/restaurants.html',
controller:'RestaurantsController',
controllerAs:'rstrntsCtrl',
resolve:{
restaurants:getRestaurants
}
});
}
function getRestaurants(YelpService,$route){
YelpService.getRestaurants($route.current.params,function(response){
console.log(response.data.businesses); **//Data printed here**
return response.data.businesses;
});
}
Controller.js
angular
.module('yelp')
.controller('RestaurantsController',RestaurantsController);
RestaurantsController.$inject=['restaurants'];
function RestaurantsController(restaurants){
var rstrntsCtrl=this;
console.log(restaurants); **// got undefined here**
}
функция Resolve делает HTTP вызов $ для извлечения данных. Затем он передается контроллеру. Я могу печатать данные в функции разрешения, но не могу передать это контроллеру (полученному undefined). может кто-то указать, где я пошло не так
Вы должны вернуть 'YelpService' вместе с ответом, но в вашем коде вы возвращаете только ответ –
Что вы подразумеваете под возвращением YelpService. не поняла. –
Если я вернусь yelpService, то зачем использовать разрешение для записи в config, вместо этого я могу напрямую вставлять YelpService в этот контроллер –