Использование Angular 1.5.9 для интерфейса и WebAPI 2 на сервере. Вызов стандарта $http.get
в услуге Get()
метод на контроллере. Это возвращает ViewModel, который я хочу заполнить переменными с помощью углового контроллера.
var carListController = function ($http, $scope, carService) {
var model = this;
model.carList = carService.getCarsByMake('Bentley', 10);
console.log(model.carList);
model.cars = model.carList[0].cars;
model.totalCars = model.carList[0].totalCars;
model.numberOfPages = model.carList[0].numberOfPages;
};
Я получаю ошибку "Cannot read property 'cars' of undefined"
:
Как вы можете видеть console.log
является показывая model.carList
так что я знаю, проблема в коде контроллера заселять другие переменные. Что мне здесь не хватает? Любая помощь обходится.
Edit: CarService
var cars = [];
var carService = function ($http) {
var getCarsByMake = function (make, size) {
$http.get('http://localhost:50604/api/cars?make=' + make + '&size=' + size)
.then(function (response) {
// Success
angular.copy(response.data, cars);
}, function() {
// Failure
});
return cars;
};
return {
getCarsByMake: getCarsByMake
};
};
Я попытался это, но получаю ошибку - 'TypeError:. CarService.getCarsByMake (...), то это не function' - Я просто переустановка массива из службы - это правильный подход? –
Можете ли вы также поделиться с вами функцией 'carService.getCarsByMake'? –
Добавлено выше - так нужно возвратить обещание от carService, но не знаете, как? –