在Angular 2

时间:2016-11-25 12:57:24

标签: javascript json angular

关于SO的解决方案很少,但显然它们已被弃用。 Angular 2一直在变化......

我试图将json文件提取到我的文件中。

items.json个文件。

我想知道我是否能够在一个文件中完成这项工作?我的意思是,就在app.component.ts内? app.component.ts文件实际上看起来像:

import { Component } from '@angular/core';
import { Http } from '@angular/http';
import { Injectable }     from '@angular/core';

@Component({
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})


@Injectable()
export class AppServices{

  constructor(private http: Http) {
    let obj;
     this.getJSON().subscribe(data => obj=data, error => console.log(error));
  }

  public getJSON(): {
    return this.http.get("./items.json")
      .map((res:any) => res.json())
  }
}

export class AppComponent {
    let items = getJSON();
  }
}

或者我必须包含app.service.ts个文件?然后放下获取json的代码?在Angular1中这么容易,为什么他们这么复杂......

我正在寻找最短的解决方案我会赞成每一个答案。提前谢谢你

修改 我有另一个代码:

import { Component } from '@angular/core';
import { Http } from '@angular/http';

@Component({
  selector: 'watchlist',
  templateUrl: './watchlist.component.html',
  styleUrls: ['./watchlist.component.css']
})


export class WatchlistComponent {

  data;

  constructor(private http:Http) {
    this.http.get('items.json')
      .subscribe(res => this.data = res.json());
  }

}

如何将这些数据加载到我的items变量中?

1 个答案:

答案 0 :(得分:2)

//一个功能你可以声明一个应用

app() {
    return this.http.get('/config.json');
  }

 this.app().subscribe((data: any) => {
 }