Move duck list to a service
Signed-off-by: Gergely Polonkai <gergely@polonkai.eu>
This commit is contained in:
parent
06af47fccf
commit
8c0ecca40f
@ -1,21 +1,27 @@
|
||||
import { Component } from "@angular/core";
|
||||
import { Component, OnInit } from "@angular/core";
|
||||
|
||||
import { Duck } from "./models";
|
||||
|
||||
const DUCKS: Ducks[] = [
|
||||
{ id: 1, color: 'yellow' },
|
||||
{ id: 2, color: 'blue' },
|
||||
{ id: 3, color: 'pink' }
|
||||
]
|
||||
import { DuckService } from "./duck.service";
|
||||
|
||||
@Component({
|
||||
selector: "duckbook-front",
|
||||
templateUrl: "/app/app.component.html"
|
||||
templateUrl: "/app/app.component.html",
|
||||
providers: [ DuckService ]
|
||||
})
|
||||
export class AppComponent {
|
||||
ducks = DUCKS;
|
||||
export class AppComponent implements OnInit {
|
||||
ducks = [];
|
||||
selectedDuck: Duck;
|
||||
|
||||
constructor(private duckService: DuckService) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.getDucks();
|
||||
}
|
||||
|
||||
getDucks(): void {
|
||||
this.duckService.getDucks().then(ducks => this.ducks = ducks);
|
||||
}
|
||||
|
||||
onSelect(duck: Duck): void {
|
||||
console.log(duck);
|
||||
this.selectedDuck = duck;
|
||||
|
11
app/duck.service.ts
Normal file
11
app/duck.service.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { Injectable } from "@angular/core";
|
||||
|
||||
import { Duck } from "./models";
|
||||
import { DUCKS } from "./mocked-data";
|
||||
|
||||
@Injectable()
|
||||
export class DuckService {
|
||||
getDucks(): Promise<Duck[]> {
|
||||
return Promise.resolve(DUCKS);
|
||||
}
|
||||
}
|
35
app/ducks.component.ts
Normal file
35
app/ducks.component.ts
Normal file
@ -0,0 +1,35 @@
|
||||
import { Component, OnInit } from "@angular/core";
|
||||
import { Router } from "@angular/router";
|
||||
|
||||
import { Duck } from "./models";
|
||||
import { DuckService } from "./duck.service";
|
||||
|
||||
@Component({
|
||||
selector: "ducks",
|
||||
templateUrl: "/app/ducks.component.html",
|
||||
providers: [ DuckService ]
|
||||
})
|
||||
export class DucksComponent implements OnInit {
|
||||
ducks = [];
|
||||
selectedDuck: Duck;
|
||||
|
||||
constructor(private router: Router,
|
||||
private duckService: DuckService)
|
||||
{}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.getDucks();
|
||||
}
|
||||
|
||||
getDucks(): void {
|
||||
this.duckService.getDucks().then(ducks => this.ducks = ducks);
|
||||
}
|
||||
|
||||
onSelect(duck: Duck): void {
|
||||
this.selectedDuck = duck;
|
||||
}
|
||||
|
||||
gotoDetail(duck: Duck): void {
|
||||
this.router.navigate(['/detail', duck.id]);
|
||||
}
|
||||
}
|
7
app/mocked-data.ts
Normal file
7
app/mocked-data.ts
Normal file
@ -0,0 +1,7 @@
|
||||
import { Duck } from "./models";
|
||||
|
||||
export const DUCKS: Duck[] = [
|
||||
{ id: 1, color: 'yellow' },
|
||||
{ id: 2, color: 'blue' },
|
||||
{ id: 3, color: 'pink' }
|
||||
];
|
Loading…
Reference in New Issue
Block a user