未在angular2应用程序中加载Product.JSON
我正在angular2应用程序中加载Product.json文件 请在下面找到我的申请代码,建议 app.module.ts未在angular2应用程序中加载Product.JSON,angular,angular2-routing,angular2-template,angular2-forms,Angular,Angular2 Routing,Angular2 Template,Angular2 Forms,我正在angular2应用程序中加载Product.json文件 请在下面找到我的申请代码,建议 app.module.ts import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; import { HttpModule } from '@ang
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { HttpModule } from '@angular/http';
@NgModule ({
imports: [ BrowserModule,HttpModule],
declarations: [ AppComponent],
bootstrap: [ AppComponent ]
})
export class AppModule { }
app.component.ts
import { Component } from '@angular/core';
import { IProduct } from './product';
import { ProductService } from './products.service';
import { appService } from './app.service';
import { Http , Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
@Component ({
selector: 'my-app',
template: '<div>Hello</div>',
providers: [ProductService]
})
export class AppComponent {
iproducts: IProduct[];
constructor(private _product: ProductService) {
}
ngOnInit() : void {
this._product.getproducts()
.subscribe(iproducts => this.iproducts = iproducts);
}
}
产品服务
import { Injectable } from '@angular/core';
import { Http , Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/do';
import { IProduct } from './product';
@Injectable()
export class ProductService {
private _producturl='app/products.json';
constructor(private _http: Http){}
getproducts(): Observable<IProduct[]> {
return this._http.get(this._producturl)
.map((response: Response) => <IProduct[]> response.json())
.do(data => console.log(JSON.stringify(data)));
}
它在控制台部分product.json文件notfound404中给出了错误
任何一个请推荐。我是angular2的新用户您需要从Products.json导出数据
[{
"ProductID": 1,
"ProductName": "ProductA"
},
{
"ProductID": 2,
"ProductName": "ProductB"
}]
或
只需将该文件放在assets文件夹中并访问它
有关更多详细信息:是否使用angular cli?然后将json文件放在您的资产文件夹中,并调用assets/products.jsontanks@Alex-its-working,我们只需将所有文件放在资产文件夹中即可添加????如果我需要在我的anglar 2应用程序中添加css或js文件,那么如何添加它您可以将.json文件保留在Ing应用程序文件夹中,但是您需要按照我的说明,使用export进行操作。所有这些文件都应该在assets文件夹中
import { Injectable } from '@angular/core';
import { Http , Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/do';
import { IProduct } from './product';
@Injectable()
export class ProductService {
private _producturl='app/products.json';
constructor(private _http: Http){}
getproducts(): Observable<IProduct[]> {
return this._http.get(this._producturl)
.map((response: Response) => <IProduct[]> response.json())
.do(data => console.log(JSON.stringify(data)));
}
export interface IProduct {
ProductID: number;
ProductName: string;
}
export const productData : IProduct = [{
"ProductID": 1,
"ProductName": "ProductA"
},
{
"ProductID": 2,
"ProductName": "ProductB"
}]