DEV Community

Juraj Chovan
Juraj Chovan

Posted on

1 1

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

...

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay