私はかなりの検索をして、問題を解決した回答が見つかりませんでした。だから私はこの質問を投稿しています。Angular2ルーティングの問題 - ゾーン対応のエラーシーケンス内の要素がありません
私の問題はこの質問に非常に似ています。 Angular 2.0.1 Router EmptyError: no elements in sequence
しかし、pathMatch: 'full'を追加しても解決できませんでした。
リストテーブルからナビゲートしようとすると、断続的なzonewawareエラーが発生します(詳細表示にナビゲート) 以下が私のモジュールです。
@NgModule({
imports: [
CommonModule,
RouterModule.forChild([
{
path: 'teams',
component: TeamsListComponent,
pathMatch: 'full',
resolve: {
TeamTemplate: TeamListTemplatesResolver
},
canActivate: [AuthenticatedGuard]
}, {
path: 'teams/:id',
component: TeamFormComponent,
pathMatch: 'full',
resolve: {
team: TeamFormTeamResolver,
resources: TeamFormResourcesResolver
},
canActivate: [AuthenticatedGuard]
}
]),
私のauthGuardサービスには、booleanを返すだけのcanActivateメソッドがあります。
public canActivate(): boolean {
if (this.authService.isLoggedIn()) {
return true;
}
this.router.navigate(['/logout', { redirect: location.pathname }]);
return false;
}
そして、ここでエラーです: Zone aware error
私は{:真enableTracing}:で、ルータのイベントログを取得することができ、この問題を見て誰のための
Router Event: NavigationStart
Router Event: RoutesRecognized
Router Event: GuardsCheckStart
Router Event: GuardsCheckEnd
Router Event: ResolveStart
Router Event: NavigationError
私が学んだのはイベントトレースです。今私はこれが私の決議者の一人と関係があることを認識しました。ルータに問題がある場合は、enableTracingをオンにしてイベントを追跡してみてください。 {route: '**'、コンポーネント:PageNotFoundComponent} ]、{enableTracing:true})、{Router: ' – Josf