【发布时间】:2019-04-07 18:55:21
【问题描述】:
我的 Angular 应用程序中嵌入了一个 JSTree(jQuery 插件)。 JSTree 插件为树元素提供了一个上下文菜单,然后我用它来调用我的 Angular 组件类的函数(例如,单击上下文菜单中的“预览文档”会调用组件类的函数 previewDocument(x))。
这里是我使用的代码:
$(this.dataTree.nativeElement).jstree({
contextmenu: {
items: {
preview: {
action: (node: any) => {
this.previewDocument(node.data.id);
}
}
}
},
..........
});
预览文档函数调用一个通知服务,它打开一个 MatDialog 来显示请求的文档。
现在的问题是:当我单击模式的关闭按钮时,什么也没有发生。但是,当我在那之后单击模态之外时,它会关闭。首先单击模态外部也是如此,然后我需要单击模态内部的某个位置才能最终关闭它。
这里刷新 DOM 似乎有问题,因为如果我正常调用该模式打开函数(不是通过 jQuery 插件),一切正常。
如何在模态关闭后强制刷新 DOM?
PS:我使用 MatDialogRef.close();关闭模式。
【问题讨论】:
-
这就是为什么你不在 Angular 应用中安装 jQuery,这会让你被我的团队踢掉。
标签: javascript jquery angular jstree