Добрый день!
Нужно вытащить значение data после ответа сервера на get запрос и передать в контроллер. Функция, выполняющая запрос находится в фабрике, запрос передается в контроллер, затем во вьюшку. До этого было контроллер -> вьюшка, все работало. Сейчас не работает. Знаю - где-то накосячил, где - не пойму, помогите разобраться
фабрика
var app = angular.module('app', []);
app.factory('dataProvider', function ($http) {
var url = 'http://localhost:53182/api/Employees/';
var employeesList;
return {
setEmployees: function (param) {
this.employeesList = param.data;
},
load: function () {
$http.get(url)
.then(
(function success(data) {
this.setEmployees(data);
}),
(function error() {
alert("ошибка при загрузке данных");
})
);
console.log(this.employeesList); //вот это вот должно выводить массив с данными от сервера
}
}
})
Покажите, как вы вашу фабрику используете
контроллер:
app.controller('testCtrl', function ($scope, $http, dataProvider) {
$scope.activeEmployee = dataProvider.activeEmployee;
$scope.newEmployee = dataProvider.newEmployee;
$scope.adding = dataProvider.adding;
$scope.employees = dataProvider.employees;
$scope.load = function () {
return dataProvider.load();
}
$scope.edit = function (employee) {
return dataProvider.edit(employee);
}
$scope.update = function (employee) {
return dataProvider.update(employee);
}
$scope.add = function (employee) {
return dataProvider.add(employee);
}
$scope.save = function (newEmployee) {
return dataProvider.add(newEmployee);
}
$scope.cancel = function () {
return dataProvider.cancel();
}
$scope.delete = function (employee) {
return dataProvider.delete(employee);
}
$scope.load();
});
вьюшку переделываю сижу еще