Analog
On this page

路由元数据

通过 RouteMeta 类型可以为生成的路由配置添加额外的路由元数据。通过路由元数据可以定义页面标题,所需的 guards, resolvers, providers 以及其他选项。

定义路由元数据

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);
}

重定向路由

可以定义一个路由,专门用于重定向到另一个路由。

在路由文件里添加 redirectTopathMatch 属性来创建一个重定向路由

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

以上的例子添加了一个从 / 重定向到 /home 的路由。

还可以定义多层重定向路由。例如以下目录结构:

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

以及 src/app/pages/cities/index.page.ts 中的 routeMeta 定义:

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

访问 /cities 将会重定向到 /cities/new-york

路由 meta 标签

RouteMeta 类型由一个 meta 属性可以用来为每一个路由定义一组 meta 标签:

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 {}

以上例子设置了一个 meta 标签 ,将会强制浏览器每 30 秒刷新一次。

请访问官方文档了解标准的 meta 标签

Open Graph meta 标签

以上的 meta 属性还可以用来定义用于 SEO 和社交 app 优化的 OpenGraph meta 标签。

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',
    },
  ],
};

这个例子将允许社交 app,例如 Facebook 或者 Twitter 以最佳方式显示标题,描述以及图片。