edit:请注意,在尝试将我的应用程序模块拆分为功能模块以进行延迟加载之前,一切工作正常
所以我试图将我的应用程序模块拆分为其他功能模块,以便可以在我的角度应用程序中使用延迟加载,
但是我遇到了错误
“未捕获的错误:模板解析错误:无法绑定到'routerLink' 因为它不是'h4'的已知属性。 (“ class =” col-3“> ] routerLink =“ / profile / {{castra.id}} / public”> {{castra.name}} ”):ng:///CastraModule/CastrasComponent.html@18:85 在语法错误(compiler.js:215) 在TemplateParser.push ../ node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse (compiler.js:14687) 在JitCompiler.push ../ node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate中 (compiler.js:22687) 在JitCompiler.push ../ node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate中 (compiler.js:22674) 在compile.js:22617 在Set.forEach() 在JitCompiler.push ../ node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents (compiler.js:22617) 在compile.js:22527 在Object.then(compiler.js:206) 在JitCompiler.push ../ node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndComponents (compiler.js:22526)“
这是我的功能模块
(Imports)
@NgModule({
declarations: [
CastrasComponent,
ProfileComponent,
PublicComponent,
MenuComponent,
ReservationComponent
],
imports: [
CommonModule,
TestRoutingModule
]
})
export class CastraModule { }
我的TestRoutingModule
(Imports)
const testRoutes: Routes = [
{path: 'test', component: TestComponent},
{
path: 'profile/:id', component: ProfileComponent,
children: [
{path: '', redirectTo: '/profile/:id/public', pathMatch: 'full'},
{path: 'public', component: PublicComponent},
{path: 'menu', component: MenuComponent},
{path: 'reservation', component: ReservationComponent},
]
}
]
@NgModule({
imports: [
RouterModule.forChild(TestRoutes)
],
exports: [RouterModule]
})
export class TestRoutingModule { }
并且测试模块被导入到App模块中,那是什么问题?
答案 0 :(得分:1)
您可能需要?将其包装在 <a> and </a>
<h4><a routerLink="menu">Part1</a></h4>
编辑
您需要将RouterModule添加到每个使用路由器指令(例如RouterOutlet或routerLink)的模块的 imports: []
中。
答案 1 :(得分:0)
您可以尝试使用RouterModule.forRoot(TestRoutes)
代替RouterModule.forChild(TestRoutes)
,它可以在我的路由器文件中使用