Угловой сервис, содержащий http get call, не работает с ng-repeat
У меня есть угловой контроллер, который вызывает сервис. Служба отвечает за возврат данных из файла json.
контроллер:
function projectController($scope, ajaxServices) {
$scope.projects = ajaxServices.getProjects();
}
оказание услуг:
projectManagerApp.factory('ajaxServices', function ($http) {
return {
getProjects : function () {
$http.get('projects.json', { data: {} }).success(function (data) {
if (window.console && console.log) {
console.log("objects returned: " + data.length); // shows # of items
}
return data //nothing ng-repeated, no console errors.
})
// Exact same data from json file hard-coded, works fine
// when not commented out.
// return [{ "id": 1, "name": "Project 1 }, { "id": 2, "name": "Project 2" }]
}
}
});
HTML:ng-repeat="project in projects"
В функции успеха я вижу данные, возвращаемые в журнале консоли, но если я пытаюсь вернуть данные, элемент ul ng-repeat ul на моей странице становится пустым. В том же сервисе, если я просто возвращаю те же данные, записанные на консоль, жестко запрограммированными (за исключением функции успеха, конечно, это работает просто отлично.
Как я могу вернуть данные в ng-repeat, используя мой вызов ajax?
Я такой же новичок в Plunker, как и Angular, но вот моя попытка Plunk:http://plnkr.co/edit/ALa9q6