gpt4 book ai didi

javascript - 未捕获( promise ): Error: Cannot match any routes: ' '

转载 作者:搜寻专家 更新时间:2023-10-30 21:08:39 24 4
gpt4 key购买 nike

我刚开始学习 Angular2 并创建了一个示例项目,我需要在其中在三个页面之间进行路由。

我在 app.module.ts 中创建了一个 RouterModule,如下所示

@NgModule({
imports: [
BrowserModule,
HttpModule,
FormsModule,

RouterModule.forRoot([
{path:'login',component : loginComponent},
{path:'logout',component :logoutComponent},
{path:'home',component : homeComponent}

])

我的 app.component.ts 如下:

@Component({
selector: 'my-app', // <my-app></my-app>
providers: [Wakanda],
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})

我的登录组件.ts

@Component({
selector:'login',
template : `
<h1>Login</h1>
`
})

我的 logoutComponent.ts

@Component({
selector:'logout',
template : `
<h1>Login</h1>
`
})

我的 homeComponent.ts

@Component({
selector : 'home',
template : `
<h1>Login</h1>
`
})

我的 app.component.html

<header>
<nav>
<div class="nav-wrapper">
<ul class="right hide-on-med-and-down">
<li>
<a routerLink ="./home">Home</a>
</li>
<li class="active">
<a routerLink="./login">LogIn</a>
</li>
<li>
<a routerLink="./logout">Log out</a>
</li>
</ul>

</div>
</nav>
</header>
<main>
<router-outlet></router-outlet>
</main>

当我编译程序时出现错误

EXCEPTION: Uncaught (in promise): Error: Cannot match any routes: ''

谁能帮我解决这个问题

提前致谢

最佳答案

尝试设置一些基本的全局路由,包括空路由和捕获所有路由。

这是一个例子 app-routing.module.ts

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { PageNotFoundComponent } from './page-not-found.component';

const appRoutes: Routes = [
{
path: '',
redirectTo: '/login',
pathMatch: 'full'
},
{ path: '**', component: PageNotFoundComponent }
];

@NgModule({
imports: [
RouterModule.forRoot(appRoutes, { enableTracing: true })
],
exports: [
RouterModule
]
})
export class AppRoutingModule { }

这是 app.module.ts

import { AppRoutingModule } from './app-routing.module';
...

@NgModule({
imports: [
...
AppRoutingModule // Make sure this one is last
],
bootstrap: [AppComponent]
})
export class AppModule { }

PageNotFoundComponent显示在<router-outlet> (这是一个基本组件)每当路由不匹配任何先前定义的路由和 ''路径匹配空路由 ( localhost:4200/ )。

你会想要你的 AppRoutingModule最后在您的 AppModule 中导入因为路由器按照路由注册的顺序匹配路由。通过最后导入“匹配任何内容”路由,您将确保首先检查所有其他路由。

设置 enableTracing 为您的路线设置为真,以帮助在开发过程中调试导航更改。

这应该是一个好的开始

关于javascript - 未捕获( promise ): Error: Cannot match any routes: ' ' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42126051/

24 4 0
文章推荐: javascript - typescript 的 Node.js process.stdin 问题(tty.ReadStream 与 ReadableStream)
文章推荐: java - Java 8 收集器问题类型不匹配 : cannot convert from List to List