Таким образом, моя проблема заключается в том, что вместо того, чтобы иметь myapp.com/#home или myapp.com/#about, когда пользователь нажимает на ссылку, как я могу получить URL в этом формате: myapp.com/home
Я только что сделал для вас супер маленький пример проекта.Он предоставляет именно ту функциональность, которая вам нужна.
Вот демонстрационная версия: https://codesandbox.io/s/xj8pvl18lq
1.В app.module.ts
у нас будет что-то вроде этого:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AppComponent } from './app.component';
import { HomeComponent } from './components/home.component';
import { AboutComponent } from './components/about.component';
const appRoutes: Routes = [
{ path: '', component: HomeComponent },
{ path: 'about', component: AboutComponent }
];
@NgModule({
declarations: [AppComponent, AboutComponent, HomeComponent],
imports: [BrowserModule, RouterModule.forRoot(appRoutes)],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
2.В app.component.ts
имеем:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<div>
<a routerLink="/">Home</a>
<a routerLink="/about">About</a>
<hr/>
<router-outlet></router-outlet>
</div>
`
})
export class AppComponent {}
3.И это два супер простых компонента: Домашний компонент и О компоненте
home.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-home',
template: `
<div>
<h2>Home</h2>
</div>
`
})
export class HomeComponent {}
about.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-about',
template: `
<div>
<h2>About</h2>
</div>
`
})
export class AboutComponent {}
Попробуйте, надеюсь, это работает так, как вы ожидали.