在app.module.ts中导入Meta和Title模块,并在导出中配置它们:
import { BrowserModule, BrowserTransferStateModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { RouterModule } from '@angular/router'; import { Meta, Title } from '@angular/platform-browser';
@NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule.withServerTransition({appId: 'my-app'}), BrowserTransferStateModule, RouterModule.forRoot([ // your routes here ]) ], providers: [], bootstrap: [AppComponent] }) export class AppModule { constructor(private meta: Meta, private title: Title) { this.meta.addTags([ { name: 'description', content: 'My App' }, { name: 'keywords', content: 'Angular, Universal, Example' } ]); this.title.setTitle('My App'); } }
在AppComponent中的ngOnInit()函数中更新标题和meta标签:
import { Component, OnInit } from '@angular/core'; import { Meta, Title } from '@angular/platform-browser';
@Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent implements OnInit { constructor(private meta: Meta, private title: Title) {}
ngOnInit() { this.meta.updateTag({ name: 'description', content: 'New description of the page' }); this.title.setTitle('New Title'); } }
这样就可以更新Angular Universal中的标题和meta标签,使其在页面源代码中正确显示。