windowClass属性或NgbModalOptions实际上做了什么吗?

时间:2018-06-08 15:26:09

标签: angular5 ng-bootstrap angular6 ng-modal

我打开一个NgbModal,传递一个TemplateRef来创建对话框主体,并通过我传递给open()方法的NgbModalOptions对象的windowClass属性传入一个自定义类。我在组件中引用的styleUrl中定义类,并通过组件中的可注入服务提供模式。模态加载正常,我在检查DOM时可以看到类名,但是类看起来与模态没有关系。我想用它来自定义模态的大小(css被定义为影响设置大小的子div),但我也玩过我在Chrome开发工具的样式选项卡中可以看到的属性,但不能看到它影响任何事情。当我在Firefox开发工具中检查时,我可以找到CSS作为内联样式表,并且它引用了Angular分配的ngContent标识符,因此我假设它不会影响整个文档,也不会影响由ng添加的那些部分-bootstrap构成模态包装器。有没有人能够成功地完成这项工作?我在我的智慧结束。如果我能获得模态标题潜水的ElementRef,我甚至会很高兴,但由于我使用的是模板(在初始时未在DOM中完全加载)我无法做到。我的一个要求是我们通过Angular进行所有DOM操作以维护项目中的平台独立性...所以没有jQuery。有什么想法吗?并提前感谢!!

1 个答案:

答案 0 :(得分:0)

我使用NgbModalOptions的windowClass和size属性来自定义模态。示例代码如下:

this.modalService.open(<your_template_ref_var>, {size: 'lg', windowClass: 'modal-adaptive-s1'});

.modal-adaptive-s1 .modal-lg {width: 400px !important;  max-width: 400px;}