Analog
On this page

Routen-Metadaten

Zusätzliche Metadaten, die der generierten Routenkonfiguration fßr jede Route hinzugefßgt werden kÜnnen, kÜnnen mit dem Typ RouteMeta erstellt werden. Hier kÜnnen der Seitentitel, alle notwendigen Guards, Resolver, Provider und mehr definiert werden.

Definieren von Routen-Metadaten

export const routeMeta: RouteMeta = {
  title: 'About Analog',
  canActivate: [() => true],
  providers: [AboutService],
};

@Component({
  template: `
    <h2>Hello Analog</h2>

    Analog is a meta-framework on top of Angular.
  `,
})
export default class AboutPageComponent {
  private readonly service = inject(AboutService);
}

Umleitungsrouten

Routen kĂśnnen nur zu dem Zweck definiert werden, auf eine andere Route umzuleiten.

Um eine Umleitungsroute zu erstellen, fĂźge die Eigenschaften redirectTo und pathMatch zum Objekt routeMeta in der Routendatei hinzu:

// src/app/pages/index.page.ts
export const routeMeta: RouteMeta = {
  redirectTo: '/home',
  pathMatch: 'full',
};

Das obige Beispiel ist eine Umleitung von der Route / zur Route /home.

Es ist auch mĂśglich, verschachtelte Umleitungsrouten zu definieren. FĂźr die folgende Dateistruktur:

src/
└── app/
    └── pages/
        └── cities/
            ├── index.page.ts
            ├── new-york.page.ts
            └── san-francisco.page.ts

Und die folgende routeMeta-Definition in der Datei src/app/pages/cities/index.page.ts:

export const routeMeta: RouteMeta = {
  redirectTo: '/cities/new-york',
  pathMatch: 'full',
};

Leitet /cities zu /cities/new-york weiter.

Routen-Meta-Tags

Der Typ RouteMeta hat eine Eigenschaft meta, die dazu verwendet werden kann, eine Liste von Meta-Tags fĂźr jede Route zu definieren:

export const routeMeta: RouteMeta = {
  title: 'Refresh every 30 sec',
  meta: [
    {
      httpEquiv: 'refresh',
      content: '30',
    },
  ],
};

@Component({
  template: `
    <h2>Hello Analog</h2>

    See you again in 30 seconds.
  `,
})
export default class RefreshComponent {}

Das obige Beispiel setzt den Meta-Tag , der den Browser zwingt, die Seite alle 30 Sekunden zu aktualisieren.

Weitere Informationen Ăźber mĂśgliche Standard-Meta-Tags findest du in der offiziellen [Dokumentation] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta).

Open-Graph-Meta-Tags

Die oben genannte Eigenschaft meta kann auch verwendet werden, um OpenGraph-Meta-Tags fĂźr SEO- und Social-Apps-Optimierungen zu definieren:

export const routeMeta: RouteMeta = {
  meta: [
    {
      name: 'description',
      content: 'Description of the page',
    },
    {
      name: 'author',
      content: 'Analog Team',
    },
    {
      property: 'og:title',
      content: 'Title of the page',
    },
    {
      property: 'og:description',
      content: 'Some catchy description',
    },
    {
      property: 'og:image',
      content: 'https://somepage.com/someimage.png',
    },
  ],
};

Dieses Beispiel ermĂśglicht es sozialen Anwendungen wie Facebook oder Twitter, Titel, Beschreibungen und Bilder optimal anzuzeigen.