浏览代码

12-154 Adding recipe edit and edit navigation

tags/before_ngrx
Nils Dittberner 8 年前
父节点
当前提交
da5a3779dd
共有 9 个文件被更改,包括 53 次插入7 次删除
  1. +4
    -1
      src/app/app-routing.module.ts
  2. +3
    -1
      src/app/app.module.ts
  3. +1
    -1
      src/app/recipes/recipe-detail/recipe-detail.component.html
  4. +7
    -2
      src/app/recipes/recipe-detail/recipe-detail.component.ts
  5. +0
    -0
      src/app/recipes/recipe-edit/recipe-edit.component.css
  6. +3
    -0
      src/app/recipes/recipe-edit/recipe-edit.component.html
  7. +24
    -0
      src/app/recipes/recipe-edit/recipe-edit.component.ts
  8. +1
    -1
      src/app/recipes/recipe-list/recipe-list.component.html
  9. +10
    -1
      src/app/recipes/recipe-list/recipe-list.component.ts

+ 4
- 1
src/app/app-routing.module.ts 查看文件

@@ -5,12 +5,15 @@ import { RecipesComponent } from './recipes/recipes.component';
import { ShoppingListComponent } from './shopping-list/shopping-list.component';
import { RecipeDetailComponent } from './recipes/recipe-detail/recipe-detail.component';
import { RecipeStartComponent } from './recipes/recipe-start/recipe-start.component';
import { RecipeEditComponent } from './recipes/recipe-edit/recipe-edit.component';

const appRoutes: Routes = [
{ path: '', redirectTo: '/recipes', pathMatch: 'full' },
{ path: 'recipes' , component: RecipesComponent, children: [
{ path: '', component: RecipeStartComponent },
{ path: ':id', component: RecipeDetailComponent }
{ path: 'new', component: RecipeEditComponent },
{ path: ':id', component: RecipeDetailComponent },
{ path: ':id/edit', component: RecipeEditComponent}
] },
{ path: 'shopping-list', component: ShoppingListComponent }
];


+ 3
- 1
src/app/app.module.ts 查看文件

@@ -16,6 +16,7 @@ import { DropdownDirective } from './shared/dropdown.directive';
import { ShoppingListService } from './shopping-list/shopping-list.service';
import { AppRoutingModule } from './app-routing.module';
import { RecipeStartComponent } from './recipes/recipe-start/recipe-start.component';
import { RecipeEditComponent } from './recipes/recipe-edit/recipe-edit.component';


@NgModule({
@@ -29,7 +30,8 @@ import { RecipeStartComponent } from './recipes/recipe-start/recipe-start.compon
ShoppingListComponent,
ShoppingEditComponent,
DropdownDirective,
RecipeStartComponent
RecipeStartComponent,
RecipeEditComponent
],
imports: [
BrowserModule,


+ 1
- 1
src/app/recipes/recipe-detail/recipe-detail.component.html 查看文件

@@ -18,7 +18,7 @@
</button>
<ul class="dropdown-menu">
<li><a (click)="onAddToShoppingList()" style="cursor: pointer;">Add Ingredients</a></li>
<li><a style="cursor: pointer;">Edit Recipe</a></li>
<li><a style="cursor: pointer;" (click)="onEditRecipe()">Edit Recipe</a></li>
<li><a style="cursor: pointer;">Delete Recipe</a></li>
</ul>
</div>


+ 7
- 2
src/app/recipes/recipe-detail/recipe-detail.component.ts 查看文件

@@ -1,7 +1,8 @@
import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute, Params } from '@angular/router';

import { Recipe } from '../recipe.model';
import { RecipeService } from '../recipe.service';
import { ActivatedRoute, Params } from '@angular/router';

@Component({
selector: 'app-recipe-detail',
@@ -13,7 +14,8 @@ export class RecipeDetailComponent implements OnInit {
id: number;
constructor(private recipeService: RecipeService,
private route: ActivatedRoute) { }
private route: ActivatedRoute,
private router: Router) { }

ngOnInit() {
this.route.params.subscribe(
@@ -28,4 +30,7 @@ export class RecipeDetailComponent implements OnInit {
this.recipeService.addIngredientsToShoppingList(this.recipe.ingredients);
}

onEditRecipe() {
this.router.navigate(['edit'], {relativeTo: this.route});
}
}

+ 0
- 0
src/app/recipes/recipe-edit/recipe-edit.component.css 查看文件


+ 3
- 0
src/app/recipes/recipe-edit/recipe-edit.component.html 查看文件

@@ -0,0 +1,3 @@
<p>
recipe-edit works!
</p>

+ 24
- 0
src/app/recipes/recipe-edit/recipe-edit.component.ts 查看文件

@@ -0,0 +1,24 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Params } from '@angular/router';

@Component({
selector: 'app-recipe-edit',
templateUrl: './recipe-edit.component.html',
styleUrls: ['./recipe-edit.component.css']
})
export class RecipeEditComponent implements OnInit {
id: number;
editMode: boolean = false;

constructor(private route: ActivatedRoute) { }

ngOnInit() {
this.route.params.subscribe(
(params: Params) => {
this.id = +params['id'];
this.editMode = params['id'] != null;
}
);
}

}

+ 1
- 1
src/app/recipes/recipe-list/recipe-list.component.html 查看文件

@@ -1,6 +1,6 @@
<div class="row">
<div class="col-xs-12">
<button class="btn btn-success">New Recipe</button>
<button class="btn btn-success" (click)="onNewRecipe()">New Recipe</button>
</div>
</div>
<hr>


+ 10
- 1
src/app/recipes/recipe-list/recipe-list.component.ts 查看文件

@@ -1,7 +1,10 @@
import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';

import { Recipe } from '../recipe.model';
import { RecipeService } from '../recipe.service';


@Component({
selector: 'app-recipe-list',
templateUrl: './recipe-list.component.html',
@@ -10,9 +13,15 @@ import { RecipeService } from '../recipe.service';
export class RecipeListComponent implements OnInit {
recipes: Recipe[];

constructor(private recipeService: RecipeService) { }
constructor(private recipeService: RecipeService,
private router: Router,
private route: ActivatedRoute) { }

ngOnInit() {
this.recipes = this.recipeService.getRecipes();
}

onNewRecipe() {
this.router.navigate(['new'], {relativeTo: this.route});
}
}

正在加载...
取消
保存