如何解决NullInjectorError:NbDialogRef没有提供者!在Nebular对话框服务中
我正在使用 NbDialogService ,并且正在通过NbDialogService打开一个组件,该对话框组件已初始化Nbdialogref private dialogref: NbDialogRef<AddContactComponent>
。现在,我也想打开不带对话框的组件,所以当我打开该组件时,出现这些错误NullInjectorError: No provider for NbDialogRef!
。知道如何通过导航或路由在对话框和同一组件中打开组件
解决方法
尝试在构造函数中使用@Optional() 表示不需要该服务。
constructor(@Optional() private dialogRef: NbDialogRef<any>) {}
注意:-
我在两个地方使用同一个组件时使用了这个
- 普通组件页面
- 作为模型页面
您需要在构造函数中注入NbDialogService,而不是NgbDialogRef。 dialogRef是一个简单的变量-通常,您不需要使用属于该组件的变量,而只是在函数“ open”中使用一个常量
constructor(private dialogService: NbDialogService){}
打开组件
const dialogref=this.dialogService.open(YourComponent,{
context: {
title: 'This is a title passed to the dialog component',})
dialogref.onClose.subscribe(name => name && this.names.push(name));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。