Angular ng2引导中的堆叠/嵌套/多模态

Angular ng2引导中的堆叠/嵌套/多模态,angular,typescript,ng2-bootstrap,Angular,Typescript,Ng2 Bootstrap,我在一个模态中有一个模态,除了一件事,它基本上是有效的。背景挂在已经打开的模型后面。我查看了文档,不知道如何准确地指定背景应该放在哪里。API显示了ModalBackdropComponent,选择器为bs modal BACKDROPENT,但我不确定是否可以用它来解决我的问题。我不确定这是否是一个z指数问题,或者背景是否需要放在某个特定的地方。我今天遇到了这个问题。我无法通过明确定义自己的bs组件实例来解决这个问题。我解决这个问题的方法是在子模式(禁用默认背景)的bsModal元素上设置[c

我在一个模态中有一个模态,除了一件事,它基本上是有效的。背景挂在已经打开的模型后面。我查看了文档,不知道如何准确地指定背景应该放在哪里。API显示了
ModalBackdropComponent
,选择器为
bs modal BACKDROPENT
,但我不确定是否可以用它来解决我的问题。我不确定这是否是一个z指数问题,或者背景是否需要放在某个特定的地方。

我今天遇到了这个问题。我无法通过明确定义自己的
bs组件实例来解决这个问题。我解决这个问题的方法是在子模式(禁用默认背景)的
bsModal
元素上设置
[config]=“{background:false}”
,然后我添加了一个如下的新元素:

<div class="modal-backdrop fade in" (click)="modal.hide()"></div>

作为子模态
bsModal
元素中的第一个元素。这假设您已将
modal
属性定义为
#modal=“bs modal”
或类似属性。或者,您可以使用click处理程序调用组件上的方法


您还需要在
1050
或更大的
.modal dialog
元素(应该是新的
.modal backgrop
元素的兄弟)上设置z索引。

我今天遇到了这个问题。我无法通过明确定义自己的
bs组件实例来解决这个问题。我解决这个问题的方法是在子模式(禁用默认背景)的
bsModal
元素上设置
[config]=“{background:false}”
,然后我添加了一个如下的新元素:

<div class="modal-backdrop fade in" (click)="modal.hide()"></div>

作为子模态
bsModal
元素中的第一个元素。这假设您已将
modal
属性定义为
#modal=“bs modal”
或类似属性。或者,您可以使用click处理程序调用组件上的方法


您还需要在
1050
或更大的
.modal dialog
元素(它应该是新的
.modal backgrop
元素的兄弟)上设置z索引。

不幸的是,使用ngx boostrap,您无法控制
modal container
bs modal backgrop
的类。似乎也没有办法添加新元素作为
.modal dialog
的同级元素

但是您可以设置嵌套的/child
模式容器的样式。
模式容器
按顺序添加到DOM中。您可以使用类型为
:n的
CSS选择器来设置子
模态容器的样式
,以便其背景(包括父模态)褪色

modal-container:nth-of-type(2) {
  background: rgba(0, 0, 0, 0.5);
}

不幸的是,使用ngx boostrap,您无法控制
模态容器
bs模态背景
的类。似乎也没有办法添加新元素作为
.modal dialog
的同级元素

但是您可以设置嵌套的/child
模式容器的样式。
模式容器
按顺序添加到DOM中。您可以使用类型为
:n的
CSS选择器来设置子
模态容器的样式
,以便其背景(包括父模态)褪色

modal-container:nth-of-type(2) {
  background: rgba(0, 0, 0, 0.5);
}
在全局css文件(
styles.css
)中:

在全局css文件(
styles.css
)中:


建议您看看这将根据您的要求进行增强。回复。建议你看看这将根据你的要求增强。回复。谢谢你的解决方案。但是,我必须手动将新添加背景的不透明度样式设置为大于零的值。否则,新的背景将保持不可见。谢谢你的解决方案。但是,我必须手动将新添加背景的不透明度样式设置为大于零的值。否则,新的背景将保持隐形。