Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Angular 4中更改导航栏中的routerlink?_Javascript_Angular_Url_Routes - Fatal编程技术网

Javascript 如何在Angular 4中更改导航栏中的routerlink?

Javascript 如何在Angular 4中更改导航栏中的routerlink?,javascript,angular,url,routes,Javascript,Angular,Url,Routes,我遇到了路由到错误路由的问题。如何避免这种情况? 对不起,我是个笨蛋 我从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-

我遇到了路由到错误路由的问题。如何避免这种情况? 对不起,我是个笨蛋

我从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>
两条路线都有导航栏。
当我在“添加新学生”路径中单击“添加新教师”路径时,我收到了此错误。反之亦然。如何避免这种情况?

当您在
oadmin/add new student
路径中并重定向到
add new teacher
时,您实际上被重定向到
oadmin/add new student/add new teacher
,因为编写
[routerLink]=“['add-new-teacher']”
只需将新教师添加到当前url即可。相反,您需要重定向到
oadmin/添加新教师
,而不是:

[routerLink]="['add-new-teacher']"
您应该使用以下选项:

routerLink="/oadmin/add-new-teacher"
您还应该将其更改为“添加新学生”,就像您访问“添加新教师”并单击“添加新学生”链接一样,您将遇到相同的错误

<button md-menu-item routerLink="/oadmin/add-new-student" >Add New Student</button>
添加新学员

在angular 4中,您需要根据index.html页面上的base href提及完整路径,而不是相对路径 试一试


另一个编辑正在等待批准,但请删除angularjs标记,因为这是用于angular1x项目的。感谢您的解释。感谢您的解释
<button md-menu-item routerLink="/oadmin/add-new-student" >Add New Student</button>
[routerLink]="['/oadmin/add-new-teacher']"