如何解决Kendo对话框的Angular Service引发错误
如果用户尝试在不保存表单的情况下导航出页面,则需要通过CanDeactivate routeguard触发对话框。我正在遵循建议的here解决方案。
我想使用在整个应用程序中使用的自定义模式对话框来自定义示例中使用的确认对话框。我打算使用Kendo Dialog Service来做到这一点。我正在使用应用程序中现有组件之一上的链接中给出的示例完全相同,但是会引发以下控制台错误:
Cannot attach dialog to the page.
Add an element that uses the kendoDialogContainer directive,or set the 'appendTo' property.
See https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/service/.
at DialogService.push../node_modules/@progress/kendo-angular-dialog/dist/fesm5/index.js.DialogService.open (index.js:770)
at DashboardLandingComponent.push../src/app/dashboard/dashboard-landing/dashboard-landing.component.ts.DashboardLandingComponent.open (dashboard-landing.component.ts:27)
at Object.handleEvent (dashboard-landing.component.html:52)
at handleEvent (core.js:30650)
at callWithDebugContext (core.js:31720)
at Object.debugHandleEvent [as handleEvent] (core.js:31447)
at dispatchEvent (core.js:21246)
at core.js:29859
at HTMLButtonElement.<anonymous> (platform-browser.js:554)
at ZoneDelegate.invokeTask (zone.js:431)
奇怪的是,我确实在页面上添加了kendoDialogContainer
指令。
Dashboard.html:
<button kendoButton (click)="open()">Harmless button</button>
<div kendoDialogContainer></div>
Dashboard.component.ts:
import { DialogCloseResult,DialogService } from '@progress/kendo-angular-dialog';
public open() {
var dialog = this.dialogService.open({
title: "Please confirm",content: "Are you sure?",actions: [
{ text: "No" },{ text: "Yes",primary: true }
]
});
dialog.result.subscribe((result) => {
if (result instanceof DialogCloseResult) {
console.log("close");
} else {
console.log("action",result);
}
});
}
知道哪里出了问题吗?
谢谢。
解决方法
kendoDialogContainer div 需要在 app/app.component.html 中。有同样的问题,这解决了它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。