Angular 2 - 如何使用本地json的数据?

时间:2018-01-24 08:05:04

标签: javascript angular typescript

感谢每一位为此提供帮助的人。 现在它的魅力

全部谢谢

有人能告诉我如何使用本地JSON数据吗?

我不确定配置中缺少什么(问题可能出在HTTP配置中)。以下是我的文件结构。

├───app
    about.component.html
about.component.ts
app.component.css
app.component.html
app.component.spec.ts
app.component.ts
app.module.ts
app.routing.ts
dataservice.ts
home.component.html
home.component.ts
dummy.json
└───environments

myService.ts

@Injectable()
export class dataService implements OnInit {
  constructor(private Http: Http) {}
  private _url: string = "assets/js/dummy.json";
  ngOnInit() {}
  gethomedata() {
    return this.Http.get(this._url).map(response => response.json());
  }
}

homeComponent.ts

@Component({
  templateUrl: './home.component.html',
})
export class home implements OnInit {
  constructor(private http: Http, private dataService: dataService) {}
  home = [];
  ngOnInit() {
    this.dataService.gethomedata().subscribe(data => {
      console.log('home', data);
      this.home.push(data);
    })
  }
}

当我跑步时,它显示404未找到错误。 可以告诉我哪里做错了吗?

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

理论上,您有两种选择:

  1. 您将json作为资源提供,并通过HttpClient
  2. 进行检索
  3. 你把json放在源代码中,你将它导入你的打字稿中,当它被编译时,它会被webpack转换成一个对象。
  4. 实际上,据我所知,第二点是不可行的,因为它涉及到webpack配置的修改,目前Angular无法实现。