2016-10-31 2 views
-2

Извините за вопрос о нобе, но я только начинаю с Angular. Я этот массив, объявленный в services.js:Угловой - получить массив из файла JSON

var articles = [{ 
    id: 1, 
    title: 'Article 1 Title', 
    intro: 'Article 1 Intro', 
    image: 'photo.jpg', 
    published: '27/10/2016', 
    text: 'Article 1 Text', 
    url: 'http://www.domain.com' 
    }, { 
    id: 2, 
    title: 'Article 2 Title', 
    intro: 'Article 2 Intro', 
    image: 'photo.jpg', 
    published: '27/10/2016', 
    text: 'Article 2 Text', 
    url: 'http://www.domain.com' 
    }]; 

Теперь, когда все хорошо в моем угловом App работает Я хочу прочитать этот массив из файла JSON, который можно найти, например, в www.domain.com/articles.json и, похоже, это:

{ 
    "articles": [ 
    { 
     "id": 1, 
     "title": "Article 1", 
     "intro": "Article 1 Intro", 
     "image": "image.png", 
     "published": "27/10/2016", 
     "text": "Article 1 Text", 
     "url": "http://www.domain.com/article-1" 
    }, 
    { 
     "id": 2, 
     "title": "Article 2", 
     "intro": "Article 2 Intro", 
     "image": "image.png", 
     "published": "27/10/2016", 
     "text": "Article 2 Text", 
     "url": "http://www.domain.com/article-2" 
    } 
    ] 
} 

Как это сделать?

+2

articles = response.data ['articles'] –

+1

Посмотрите на провайдера '$ http' https://docs.angularjs.org/api/ng/service/$http – mojarras

ответ

1

Чтобы получить данные файла в вашем приложении «Угловое», вам необходимо получить содержимое файла с помощью HTTP-запроса. Самый простой способ сделать это - использовать the $http service.

Пример (с относительной URL):

$http.get('/articles.json').then(function (response) { 
    var articles = response.data.articles; 

    // Do something with articles... 
}); 

Функция обратного вызова вы передаете методу then будет вызываться, когда запрос HTTP был успешным. Обратите внимание, что ваши данные будут доступны только в этой функции обратного вызова. Также не забудьте указать зависимость от службы $http в вашем контроллере. ;)

Смежные вопросы