Angular - 从JSON文件中获取数组

时间:2016-10-31 18:27:19

标签: javascript angularjs json

对于noob问题我很抱歉,但我刚刚开始使用Angular。我在services.js中声明了这个数组:

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'
  }];

现在我的Angular 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"
    }
  ]
}

如何进行此更改?

1 个答案:

答案 0 :(得分:1)

要在Angular应用程序中获取文件的数据,您必须通过HTTP请求获取文件的内容。最简单的方法是使用the $http service

示例(使用相对网址):

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

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

当HTTP请求成功时,将调用您传递给then方法的回调函数。请注意,您的数据仅在此回调函数中可用。另外,不要忘记在控制器中包含对$http服务的依赖关系。 ;)