我遇到了路由到错误的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},
];
导航栏对于两条路线都很常见。 当我在“添加新学生”路线内部点击“添加新教师”路线时,我收到此错误。反之亦然。怎么避免这个?
答案 0 :(得分:0)
当您进入Exception in thread "Remoting "management-client" task-5" java.lang.NoSuchMethodError: org.jboss.as.protocol.mgmt.ManagementRequestContext.executeAsync(Lorg/jboss/as/protocol/mgmt/ManagementRequestContext$AsyncTask;)Z
at org.jboss.as.controller.client.impl.AbstractModelControllerClient$ReadAttachmentInputStreamRequestHandler.handleRequest(AbstractModelControllerClient.java:211)
at org.jboss.as.protocol.mgmt.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:255)
at org.jboss.as.protocol.mgmt.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:237)
at org.jboss.as.protocol.mgmt.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:124)
at org.jboss.as.protocol.mgmt.ManagementChannelReceiver$1.handleMessage(ManagementChannelReceiver.java:56)
at org.jboss.as.protocol.mgmt.ManagementChannelReceiver.handleMessage(ManagementChannelReceiver.java:84)
at org.jboss.remoting3.remote.RemoteConnectionChannel$5.run(RemoteConnectionChannel.java:463)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
路径并重定向到oadmin/add-new-student
时,您实际上已被重定向到add-new-teacher
,因为撰写oadmin/add-new-student/add-new-teacher
只需将[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链接一样,你会有同样的错误
<button md-menu-item routerLink="/oadmin/add-new-student" >Add New Student</button>
答案 1 :(得分:0)
在角度4而不是相对路径中,您需要根据index.html页面上的基本href提及完整路径 尝试
[routerLink]="['/oadmin/add-new-teacher']"