DEV Community

Juraj Chovan
Juraj Chovan

Posted on

Pridanie stránky do Ionic aplikácie

V predchádzajúcom postupe som si vytvoril základnú kostru Ionic (ver.5) aplikácie. Teraz si k nej pridám niekoľko nových stránok.

V nasledujúcom postupe si vytvorím dve stránky "Login" a "Register", ktoré budem neskôr využívať v tomto projekte.
Chcem aby tieto stránky (resp.súbory týchto stránok obsahujúce kód) boli v podadresári "../pages/auth/".
V adresári, kde mám vytvorenú túto Ionic aplikáciu spustiť príkaz:

ionic generate page pages/auth/login 
Enter fullscreen mode Exit fullscreen mode

resp.príkaz:

ionic generate page pages/auth/register 
Enter fullscreen mode Exit fullscreen mode

Image description
Týmto sa vytvorí v Ionic projekt definovaný podadresár "../pages/auth/" a v ňom predpripravená štruktúra súborov stránky:

Image description

Každá takto vytvorená stránka pozostáva z týchto súborov:

  • *-routing.module.ts
  • *.module.ts
  • *.page.html (obsahuje kód layout-u stránky)
  • *.page.scss (obsahuje prípadne CSS charakteristiky stránky)
  • *.page.spec.ts
  • *.page.ts (obsahuje kód logiky stránky) Vytvorením stránky zároveň je táto routovaná a nastavená v kóde tohto Ionic projektu, takže ak mám spustený developovací server:
ionic serve 
Enter fullscreen mode Exit fullscreen mode

viem si zobraziť v prehliadači túto stránku cez príslušnú URL:

http://localhost:8101/login 
Enter fullscreen mode Exit fullscreen mode

čo mi zobrazí túto (zatiaľ prázdnu) stránku:

Image description

Pridanie navigácie na stránky

Na hlavnú stránku pridám tlačítko [Login] cez ktoré sa dostanem na vytvorenú stránku "Login":

Image description
tj.v súbore "home.page.html" to teda bude kód:

... <div id="container"> <strong>Ready to create an app?</strong> <p>Start with Ionic <a target="_blank" rel="noopener noreferrer" href="https://ionicframework.com/docs/components">UI Components</a></p> <div class="button-container"> <ion-button (click)="goToLoginPage()">Login</ion-button> </div> </div> </ion-content> 
Enter fullscreen mode Exit fullscreen mode

a v súbore kódu stránky "home.page.ts":

import { Component } from '@angular/core'; import {NavController} from '@ionic/angular'; @Component({ selector: 'app-home', templateUrl: 'home.page.html', styleUrls: ['home.page.scss'], }) export class HomePage { constructor( private navCtrl: NavController ) {} goToLoginPage() { this.navCtrl.navigateForward('login'); } } 
Enter fullscreen mode Exit fullscreen mode

Cez tlačítko [Login] sa teraz dostanem na stránku "Login":

Image description
kde zase pridám do časti "header" tlačítko na návrat. V súbore "login.page.html" to bude kód:

<ion-header> <ion-toolbar> <ion-title>login</ion-title> <ion-buttons slot="start"> <ion-back-button defaultHref="home"></ion-back-button> </ion-buttons> </ion-toolbar> </ion-header> <ion-content> </ion-content> 
Enter fullscreen mode Exit fullscreen mode

...

Top comments (0)