MOCK-DATA
1.npm install mockjs --save
2.environment.ts
export const environment = {
production: false,
isMock: true
};
3.main.ts
if(environment.isMock){
import('./app/mock-heroes').then(() => {
console.log('mock is start');
});
}
4.mock-heroes.ts
export const HEROES: Hero[] = Mock.mock({
'list|8': [{
'id|+1': 12,
'name|1': "@cname()"
}]
})
MOCK-SERVICE
hero.service.ts
getHeros(){
return this.httpClient.get('/api/heros') as Observable<Hero[]>;
}
hero.service.interface.ts
export interface IHeroService {
getHeros():Observable<Hero[]>;
}
hero.mock.service.ts
export class HeroService implements IHeroService {
getHeros(){
return of([
{
id: 1,
name: 'W'
},
{
id: 2,
name: 'T'
}
]);
}
}
heros: Hero[] = [
{
id: 1,
name: 'W',
},
{
id: 2,
name: 'D',
}
];
getTodos(): Observable<Todo[]> {
return of(this.todos);
}
addTodo(todo: Todo){
this.todos.push(todo);
}
environment.ts
export const environment = {
production: true,
providers:[
{ provide: MockHeroService, useClass: HeroService },
]
};
app.module.ts
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
....
],
providers: [
...environment.providers,
],
bootstrap: [AppComponent]
})