[英]Angular - Deploying a JSON file to firebase
摘要
问题
服务
import { IProjects } from './projects.interface'; @Injectable() export class ProjectsService { private _projectURL = '/dist/projects-list.json'; constructor(private _http: Http) { } getProjects(): Observable<IProjects[]> { return this._http.get(this._projectURL) .map((response: Response) => <IProjects[]> response.json()) .do(data => console.log('All: ' + JSON.stringify(data))) .catch(this.handleError); } getProject(id: number): Observable<IProjects> { return this.getProjects() .map((projects: IProjects[]) => projects.find(p => p.projectId === id)); } private handleError(error: Response) { console.error(error); return Observable.throw(error.json().error || 'Server error'); } }
显示项目列表的列表组件
export class ProjectsListComponent implements OnInit { pageTitle = "Project List"; errorMessage: string; projects: IProjects[]; constructor(private _projectsService: ProjectsService) { } ngOnInit(): void { this._projectsService.getProjects() .subscribe(projects => this.projects = projects, error => this.errorMessage = <any>error); } onRatingClicked(message: string): void { this.pageTitle = 'Project List: ' + message; } }
任何帮助将不胜感激 :)
您需要将您的模拟json文件添加到您的角度项目中的assets
文件夹中。
你可以这样访问
getProjects(): Observable<IProjects[]> {
return this._http.get("assets/projects-list.json")
.map((response: Response) => <IProjects[]> response.json())
.do(data => console.log('All: ' + JSON.stringify(data)))
.catch(this.handleError);
}
注意:-您需要在资产文件夹中添加静态文件,例如图像或配置文件。 角度只能访问资产文件夹。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.