Javascript Angular 2从url获取json数据

Javascript Angular 2从url获取json数据,javascript,json,angular,calendar,Javascript,Json,Angular,Calendar,这是我在Angular 2中的代码。我想从JSON文件中获取数据,并将其显示在日历中。 :我如何才能做到这一点?您可以创建一个包含日历数据的服务 let headers = new Headers(); headers.append('Content-Type', 'application/x-www-form-urlencoded'); let ep = './data.json'; this.events = this.http .get(ep, { headers: headers }

这是我在Angular 2中的代码。我想从JSON文件中获取数据,并将其显示在日历中。
:我如何才能做到这一点?

您可以创建一个包含日历数据的服务

let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
let ep = './data.json';
this.events = this.http
  .get(ep, { headers: headers })
  .map(res => res.json())
  .map(({results}: { results: Data[] }) => {
    return results.map((data: Data) => {
      return {
        title: data.title,
        start: new Date(data.from),
        colors.yellow,
      };
    });
  });
然后必须从模板中删除异步管道

之前:

getList(): any
{

var date = new Date( '2017-01-12' );
var date2 = new Date( '2017-03-17' );

return (
  [

    { title: 'Beauty And The Beast', start: date2, color: { primary: '#e3bc08', secondary: '#FDF1BA' } },

    { title: 'La La Land', start: date, color: { primary: '#e3bc08', secondary: '#FDF1BA' } }

  ]
)
}
之后:

[events]="(events | async ) || []
然后调用组件中的服务:

[events]="(events) || []
[

{"title":"La La Land","from":1490475722305},
{"title":"Beauty And The Beast","from":1490475722305}

]

2。要使用
Http
获取
data.json
文件,您需要将json文件放入assets文件夹:
/assets/data.jsom
,以便应用程序可以访问它:
localhost:8080/data.json

然后,您只需发出一个get请求

fetchEvents()
{

this.events= this._data_Service.getList()

}
以下是我使用的JSON:

fetchEvents(): void {


    this.events = this.http
      .get('../../assets/data.json') // the path may vary depending 
                                    // on your directory structure. 
      .map(res => res.json())
      .map((results) => {  // this might be different depending on
                          //  your json and type definition.

        return results.map((data: Data) => {

          console.log({title: data.title,
            start: new Date(data.from),
            color: colors.yellow})

          return {
            title: data.title,
            start: new Date(data.from), 
            color: colors.yellow,data
          };
        });
      });


}// fetchEvents
最后,您可以在组件中包含类型定义:

[events]="(events) || []
[

{"title":"La La Land","from":1490475722305},
{"title":"Beauty And The Beast","from":1490475722305}

]

您可以创建包含日历数据的服务

let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
let ep = './data.json';
this.events = this.http
  .get(ep, { headers: headers })
  .map(res => res.json())
  .map(({results}: { results: Data[] }) => {
    return results.map((data: Data) => {
      return {
        title: data.title,
        start: new Date(data.from),
        colors.yellow,
      };
    });
  });
然后必须从模板中删除异步管道

之前:

getList(): any
{

var date = new Date( '2017-01-12' );
var date2 = new Date( '2017-03-17' );

return (
  [

    { title: 'Beauty And The Beast', start: date2, color: { primary: '#e3bc08', secondary: '#FDF1BA' } },

    { title: 'La La Land', start: date, color: { primary: '#e3bc08', secondary: '#FDF1BA' } }

  ]
)
}
之后:

[events]="(events | async ) || []
然后调用组件中的服务:

[events]="(events) || []
[

{"title":"La La Land","from":1490475722305},
{"title":"Beauty And The Beast","from":1490475722305}

]

2。要使用
Http
获取
data.json
文件,您需要将json文件放入assets文件夹:
/assets/data.jsom
,以便应用程序可以访问它:
localhost:8080/data.json

然后,您只需发出一个get请求

fetchEvents()
{

this.events= this._data_Service.getList()

}
以下是我使用的JSON:

fetchEvents(): void {


    this.events = this.http
      .get('../../assets/data.json') // the path may vary depending 
                                    // on your directory structure. 
      .map(res => res.json())
      .map((results) => {  // this might be different depending on
                          //  your json and type definition.

        return results.map((data: Data) => {

          console.log({title: data.title,
            start: new Date(data.from),
            color: colors.yellow})

          return {
            title: data.title,
            start: new Date(data.from), 
            color: colors.yellow,data
          };
        });
      });


}// fetchEvents
最后,您可以在组件中包含类型定义:

[events]="(events) || []
[

{"title":"La La Land","from":1490475722305},
{"title":"Beauty And The Beast","from":1490475722305}

]