我正在使用 Nebular Angular UI 库。我正在尝试不同的方法来找到关闭 NbDialogModule 的方法,但我无法到达任何地方!任何人都可以帮助我吗?这是我尝试过的方法之一:
constructor( private dialogService:NbDialogService, private ref:NbDialogRef<DialogNamePromptComponent>)
Run Code Online (Sandbox Code Playgroud)
在我的班级组件中:
close() {
this.ref.close();
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
core.js:6241错误错误:未捕获(承诺):NullInjectorError:R3InjectorError(ViewsModule)[NbDialogRef - > NbDialogRef - > NbDialogRef - > NbDialogRef]:NullInjectorError:没有NbDialogRef的提供者!NullInjectorError:R3InjectorError(ViewsModule)[NbDialogRef - > NbDialogRef - > NbDialogRef - > NbDialogRef]:NullInjectorError:没有NbDialogRef的提供者!
您可以使用对话框参考关闭该对话框。如何获取对话框引用取决于您尝试从何处关闭对话框
如果您尝试从对话框 ( ) 中呈现的组件内关闭对话框DialogNamePromptComponent,则可以在组件 ( ) 的构造函数中注入对话框引用DialogNamePromptComponent。然后您可以使用此引用来调用close().
export class DialogNamePromptComponent {
constructor(private dialogRef: NbDialogRef) {}
public closeDialog(): void {
this.dialogRef.close();
}
}
Run Code Online (Sandbox Code Playgroud)
如果您想从打开对话框的组件内关闭对话框,您将使用open(...)对话框服务方法返回的对话框引用。
export class AppComponent {
private dialogRef: NbDialogRef;
constructor(private dialogService: NbDialogService) {}
public openDialog(): void {
// Open will return a dialog reference that we can use to close
// the dialog from elsewhere.
this.dialogRef = this.dialogService.open(DialogNamePromptComponent, { ... });
}
public closeDialog(): void {
// We can use the dialog ref to close the dialog
if (this.dialogRef) {
this.dialogRef.close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
https://akveo.github.io/nebular/docs/components/dialog/overview#nbdialogservice
| 归档时间: |
|
| 查看次数: |
4567 次 |
| 最近记录: |