角度路由器未定义

时间:2017-07-12 13:04:51

标签: angular

我遇到了两个错误。

1)router-outlet不是代码

的已知元素
import {Routes, RouterModule}from "@angular/router"


@Component({
  selector: 'app-root',
  template: `
    <top-menu></top-menu>
    <router-outlet></router-outlet>
  `
})

2)以下代码

的意外结束标记<a>
import {Routes, RouterModule} from "@angular/router"

@Component({
  selector: 'top-menu',
  template: `    
    <a [routerLink]=['new']> New </a>
      <a [routerLink]=['list']> List </a>
  `
})

路线定义如下:

export const routes:Routes = [
  {path:'new', component:MyParaComponent},
  {path:'list', component:MyListComponent}
];

export const appRouterModule =RouterModule.forRoot(routes);

有趣的是,如果我在app.module.ts中的导入中添加appRouterModule,那么我会收到一个错误,即app.routes.ts(定义了appRouterModule的文件)不会导出任何模块。

.../app/app.routes"' has no exported member 'appRouterModule'.

1 个答案:

答案 0 :(得分:1)

校正的

第1部分: 您需要从“@ angular / router”导入<a [routerLink]="['new']"> New </a>,而不是将RouterModule导入您的组件,您应该将其导入您的父模块(如果您还没有)。

第2部分:

routes.MapRoute( "Student", // Route name "Edit/{StudentId}", // URL with parameters new { controller = "Student", action = "Edit" } // Parameter defaults ); 应该是 continue_question