Mobile Programming Generate Page
Mobile Programming Generate Page
constructor(
private activatedRoute: ActivatedRoute,
private recipesService: RecipesService
) {}
ngOnInit() {
this.activatedRoute.paramMap.subscribe(paramMap => {
if (!paramMap.has('recipeId')) {
// redirect
return;
}
const recipeId = paramMap.get('recipeId');
this.loadedRecipe = this.recipesService.getRecipe(recipeId);
});
}
}
Check yourname-detail.page.ts
• import { Component, OnInit } from '@angular/core';
• import { ActivatedRoute, Router } from '@angular/router';
• import { AlertController } from '@ionic/angular';
•
import { RecipesService } from '../recipes.service';
• import { Recipe } from '../recipe.model';
recipe-detail.page.html
<ion-content>
<ion-grid no-padding>
<ion-row>
<ion-col no-padding>
<ion-img [src]="loadedRecipe.imageUrl"></ion-img>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<ion-list>
{{ ig }}
</ion-item>
</ion-list>
</ion-col>
</ion-row>
</ion-grid>
</ion-content>
recipes.page.html
• <ion-header>
• <ion-toolbar color="primary"> <ion-title>Recipes</ion-title> </ion-toolbar>
• </ion-header>
•
<ion-content>
• <ion-list>
• <ion-item
• *ngFor="let recipe of recipes"
• [routerLink]="['/recipes', recipe.id]“ navigate to other page
• >
• <ion-avatar slot="start">
• <ion-img [src]="recipe.imageUrl"></ion-img>
• </ion-avatar>
• <ion-label> {{ recipe.title }} </ion-label>
• </ion-item>
• </ion-list>
• </ion-content>
Give arrow button to go back
recipe-detail.page.html
• <ion-header>
• <ion-toolbar color="primary">
• <ion-buttons slot="start">
• <ion-back-button defaultHref="/recipes"></ion-back-button>
• </ion-buttons>
• <ion-title>{{ loadedRecipe.title }}</ion-title>
• </ion-toolbar>
• </ion-header>