如何在执行函数后自动关闭 NbDialogModule? (不是在背景点击)
how can I close NbDialogModule automatically after executing a function? (not on backdrop click)
我正在使用 Nebular Angular UI 库。我正在尝试不同的方法来找到关闭 NbDialogModule 的方法,但我无处可去!任何人都可以在这里帮助我吗?
这是我尝试过的方法之一:
constructor( private dialogService:NbDialogService, private ref:NbDialogRef<DialogNamePromptComponent>)
在我的 class 组件中:
close() {
this.ref.close();
}
我得到的错误是:
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();
}
}
从组件内部打开对话框...
如果您想从打开对话框的组件中关闭对话框,您将使用对话框服务 open(...)
方法中的对话框引用 return。
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();
}
}
}
https://akveo.github.io/nebular/docs/components/dialog/overview#nbdialogservice
我正在使用 Nebular Angular UI 库。我正在尝试不同的方法来找到关闭 NbDialogModule 的方法,但我无处可去!任何人都可以在这里帮助我吗? 这是我尝试过的方法之一:
constructor( private dialogService:NbDialogService, private ref:NbDialogRef<DialogNamePromptComponent>)
在我的 class 组件中:
close() {
this.ref.close();
}
我得到的错误是:
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();
}
}
从组件内部打开对话框...
如果您想从打开对话框的组件中关闭对话框,您将使用对话框服务 open(...)
方法中的对话框引用 return。
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();
}
}
}
https://akveo.github.io/nebular/docs/components/dialog/overview#nbdialogservice