間違った routelink にルーティングするという問題があります。これを回避するには?ノブでごめんなさい。
Chrome コンソールから取得しているエラーは
ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL
Segment: 'oadmin/add-new-student/add-new-teacher'
Error: Cannot match any routes. URL Segment:
'oadmin/add-new-student/add-new-teacher'
ナビゲーション ボタンの HTML コード
<md-toolbar color="primary" class="toolbar-student">
<span >
<button md-button [mdMenuTriggerFor]="menu1">Student</button>
<md-menu #menu1="mdMenu">
<button md-menu-item [routerLink]="['add-new-student']" >Add New Student</button>
<button md-menu-item>Item 2</button>
</md-menu>
</span>
<span >
<button md-button [mdMenuTriggerFor]="menu2">Teacher</button>
<md-menu #menu2="mdMenu">
<button md-menu-item [routerLink]="['add-new-teacher']" >Add New Teacher</button>
<button md-menu-item>Item 2</button>
</md-menu>
</span>
</md-toolbar>
私のルート
var routes = [
{path: '',
component: StudentComponent},
{path: 'oadmin',
component: OAdminComponent},
{path: 'oadmin/add-new-student',
component: NewStudentComponent},
{path: 'oadmin/add-new-teacher',
component: NewTeacherComponent},
];
ナビゲーションバーは両ルート共通。「Add New Student」ルート内で「Add New Teacher」ルートをクリックすると、このエラーが発生します。およびその逆。これを回避するには?
oadmin/add-new-student
パス内add-new-teacher
にいてリダイレクトするとoadmin/add-new-student/add-new-teacher
、書き込みは現在の URL に[routerLink]="['add-new-teacher']"
追加さ/add-new-teacher
れるだけであるため、実際にリダイレクトされます。代わりに、次の代わりにリダイレクトする必要がありますoadmin/add-new-teacher
。
[routerLink]="['add-new-teacher']"
これを使用する必要があります:
routerLink="/oadmin/add-new-teacher"
また、add-new-teacher にアクセスして add-new-student リンクをクリックすると、同じエラーが発生するため、add-new-student にも変更する必要があります。
<button md-menu-item routerLink="/oadmin/add-new-student" >Add New Student</button>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加