由于错误,无法为使用routerLink
的模块配置故事
ERROR NullInjectorError: StaticInjectorError(DynamicModule)[RouterLinkActive -> Router]
再现
重现行为的步骤:
underscore-java
运行应用程序,您可以测试没有可能的解决方案来添加RouterModule以处理故事。
无法使用RouterTestingModule
,RouterModule
,RouterModule.forRoot
和iframe.html
路径来配置它。关于缺少提供者总是有同样的错误。
预期行为 使用routerLink运行应用程序和故事
其他上下文
最新版本的故事书5.3.3
和角逐~8.2.14
我使用的是其他配置5.2.8,但不会出现此问题。
如何配置此模块,故事书中是否存在问题?
答案 0 :(得分:5)
Storybook的工作原理不同于棱角书,因此我无需将FeatureModule
插入故事中,Component
很好。当仅将NavbarComponent
注入RouterTestingModule
故事配置看起来像这样
storiesOf('Navbar', module)
.addDecorator(
moduleMetadata({
imports: [BrowserAnimationsModule, RouterTestingModule],
declarations: [NavbarComponent],
}),
)
您不需要路由配置xD
答案 1 :(得分:3)
我进行了以下更改:
RouterModule
navbar.module.ts
const routes: Routes = [];
@NgModule({
declarations: [NavbarComponent],
imports: [
CommonModule,
RouterModule.forRoot(routes)
],
providers: [{provide: APP_BASE_HREF, useValue: '/'}],
exports: [NavbarComponent]
})
export class NavbarModule {
}
之后,您只需要将<router-outlet></router-outlet>
添加到您的NavbarComponent