[英]Angular - Deploying a JSON file to firebase
Summary 摘要
Questions 问题
Service 服务
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'); } }
List Component that displays the list of projects 显示项目列表的列表组件
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; } }
Error Received in the browser 浏览器中收到错误
Any help would be greatly appreciated :) 任何帮助将不胜感激 :)
you need add your mock json file in the assets
folder in your angular project. 您需要将您的模拟json文件添加到您的角度项目中的
assets
文件夹中。
and you can access like this 你可以这样访问
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);
}
Note:- you need add static file like image or config file in the assets folder. 注意:-您需要在资产文件夹中添加静态文件,例如图像或配置文件。 angular can only access assets folder.
角度只能访问资产文件夹。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.