浏览代码

06-79 Passing data with event and propery binding

tags/before_ngrx
父节点
当前提交
678a2dbbb6
共有 8 个文件被更改,包括 42 次插入13 次删除
  1. +3
    -3
      src/app/recipes/recipe-detail/recipe-detail.component.html
  2. +4
    -2
      src/app/recipes/recipe-detail/recipe-detail.component.ts
  3. +9
    -2
      src/app/recipes/recipe-list/recipe-item/recipe-item.component.html
  4. +6
    -1
      src/app/recipes/recipe-list/recipe-item/recipe-item.component.ts
  5. +2
    -1
      src/app/recipes/recipe-list/recipe-list.component.html
  6. +8
    -2
      src/app/recipes/recipe-list/recipe-list.component.ts
  7. +8
    -2
      src/app/recipes/recipes.component.html
  8. +2
    -0
      src/app/recipes/recipes.component.ts

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

@@ -1,11 +1,11 @@
<div class="row">
<div class="col-xs-12">
<img src="" alt="" class="img-responsive">
<img [src]="recipe.imagePath" alt="" class="img-responsive" style="max-height: 300px;">
</div>
</div>
<div class="row">
<div class="col-xs-12">
<h1>Recipe Name</h1>
<h1>{{ recipe.name }}</h1>
</div>
</div>
<div class="row">
@@ -26,7 +26,7 @@
</div>
<div class="row">
<div class="col-xs-12">
Description
{{ recipe.description }}
</div>
</div>
<div class="row">


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

@@ -1,4 +1,5 @@
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, Input } from '@angular/core';
import { Recipe } from '../recipe.model';

@Component({
selector: 'app-recipe-detail',
@@ -6,7 +7,8 @@ import { Component, OnInit } from '@angular/core';
styleUrls: ['./recipe-detail.component.css']
})
export class RecipeDetailComponent implements OnInit {

@Input() recipe: Recipe;
constructor() { }

ngOnInit() {


+ 9
- 2
src/app/recipes/recipe-list/recipe-item/recipe-item.component.html 查看文件

@@ -1,9 +1,16 @@
<a href="#" class="list-group-item clearfix">
<a
href="#"
class="list-group-item clearfix"
(click)="onSelected()">
<div class="pull-left">
<h4 class="list-group-item-heading">{{ recipe.name }}</h4>
<p class="list-group-item-text">{{ recipe.description }}</p>
</div>
<span class="pull-right">
<img [src]="recipe.imagePath" alt="{{ recipe.name }}" class="img-responsive" style="max-height: 50px;">
<img
[src]="recipe.imagePath"
alt="{{ recipe.name }}"
class="img-responsive"
style="max-height: 50px;">
</span>
</a>

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

@@ -1,4 +1,4 @@
import { Component, OnInit, Input } from '@angular/core';
import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';
import { Recipe } from '../../recipe.model';

@Component({
@@ -8,10 +8,15 @@ import { Recipe } from '../../recipe.model';
})
export class RecipeItemComponent implements OnInit {
@Input() recipe: Recipe;
@Output() recipeSelected = new EventEmitter<void>();

constructor() { }

ngOnInit() {
}

onSelected() {
this.recipeSelected.emit();
}

}

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

@@ -8,6 +8,7 @@
<div class="col-xs-12">
<app-recipe-item
*ngFor="let recipeElement of recipes"
[recipe]="recipeElement"></app-recipe-item>
[recipe]="recipeElement"
(recipeSelected)="onRecipeSelected(recipeElement)"></app-recipe-item>
</div>
</div>

+ 8
- 2
src/app/recipes/recipe-list/recipe-list.component.ts 查看文件

@@ -1,4 +1,4 @@
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, EventEmitter, Output } from '@angular/core';
import { Recipe } from '../recipe.model';

@Component({
@@ -8,12 +8,18 @@ import { Recipe } from '../recipe.model';
})
export class RecipeListComponent implements OnInit {
recipes: Recipe[] = [
new Recipe('A Test Recipe', 'This is simlpy a test', 'http://maxpixel.freegreatpicture.com/static/photo/1x/Recipe-Soup-Noodle-Curried-Spicy-Chicken-Khaosoi-2344152.jpg')
new Recipe('A Test Recipe', 'This is simlpy a test', 'http://maxpixel.freegreatpicture.com/static/photo/1x/Recipe-Soup-Noodle-Curried-Spicy-Chicken-Khaosoi-2344152.jpg'),
new Recipe('Another Test Recipe', 'This is simlpy a test', 'http://maxpixel.freegreatpicture.com/static/photo/1x/Recipe-Soup-Noodle-Curried-Spicy-Chicken-Khaosoi-2344152.jpg')
];
@Output() recipeWasSelected = new EventEmitter<Recipe>();

constructor() { }

ngOnInit() {
}

onRecipeSelected(recipe: Recipe) {
this.recipeWasSelected.emit(recipe);
}

}

+ 8
- 2
src/app/recipes/recipes.component.html 查看文件

@@ -1,8 +1,14 @@
<div class="row">
<div class="col-md-5">
<app-recipe-list></app-recipe-list>
<app-recipe-list
(recipeWasSelected)="selectedRecipe = $event"></app-recipe-list>
</div>
<div class="col-md-7">
<app-recipe-detail></app-recipe-detail>
<app-recipe-detail
*ngIf="selectedRecipe; else infoText"
[recipe]="selectedRecipe"></app-recipe-detail>
<ng-template #infoText>
<p>Please select a Recipe!</p>
</ng-template>
</div>
</div>

+ 2
- 0
src/app/recipes/recipes.component.ts 查看文件

@@ -1,4 +1,5 @@
import { Component, OnInit } from '@angular/core';
import { Recipe } from './recipe.model';

@Component({
selector: 'app-recipes',
@@ -6,6 +7,7 @@ import { Component, OnInit } from '@angular/core';
styleUrls: ['./recipes.component.css']
})
export class RecipesComponent implements OnInit {
selectedRecipe: Recipe;

constructor() { }



正在加载...
取消
保存