Я разрабатываю небольшое приложение AngularJS, и сейчас я борется с созданием сервиса.
У меня есть служба, которая служит бэкэнд для предоставления контактов (имя, адрес...).
До сих пор они были жестко закодированы как массив в сервисе (instance.contacts=[...]
), но теперь я пытаюсь прочитать их из json файла:
myModule.factory('contactService', ['$http',function ($http) {
var instance = {};
$http.get('contacts.json').success(function (data) {
instance.contacts = data;
});
return instance;
}]);
Я вижу в моей консоли браузера, что файл был успешно прочитан, но я не вижу никаких изменений на экране.
Итак, вместо этого я попробовал следующее:
myModule.factory('contactService', ['$http',function ($http) {
var instance = {
contacts:[]
};
$http.get('contacts.json').success(function (data) {
angular.forEach(data, function(item) {
instance.contacts.push(item);
});
});
return instance;
}]);
Я не знаю, почему работает второй фрагмент кода, а не первый. Может кто-нибудь, пожалуйста, помогите мне понять?