在Angular中,默认情况下,URL中会显示一个“#”符号,这是由于Angular使用了HashLocationStrategy来处理路由。但是,你可以使用PathLocationStrategy来删除URL中的“#”符号。
要使用PathLocationStrategy,你需要进行以下步骤:
import { LocationStrategy, PathLocationStrategy } from '@angular/common';
providers: [
{ provide: LocationStrategy, useClass: PathLocationStrategy }
]
在做出这些更改后,刷新你的应用程序,你会发现URL中的“#”符号已经被删除了。
注意:如果你使用了HashLocationStrategy的其他功能(如锚点链接),则需要相应地修改你的代码。
以下是一个完整的示例:
app.module.ts:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { LocationStrategy, PathLocationStrategy } from '@angular/common';
import { AppComponent } from './app.component';
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule],
providers: [
{ provide: LocationStrategy, useClass: PathLocationStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}
app.component.ts:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
Home
About
`
})
export class AppComponent {}
这个示例中,我们使用PathLocationStrategy来删除URL中的“#”符号。在app.component.ts中,我们使用了routerLink来导航到Home和About页面。