Angular 材质为各种组件(例如菜单、小吃栏和对话框组件)创建覆盖容器。
我如何以简单的方式决定 cdk-overlay-container 应附加到哪个元素?
目前,它已附加到 body 元素。因此,如果我触发除 body 元素之外的任何其他元素的全屏模式,它将不会被看到。这当然不是我想要的。
基本上创建一个扩展的类OverlayContainer
。覆盖getContainerElement
返回 HTML 元素的方法,该元素应附加覆盖层。如果需要,您还可以覆盖_createContainer
方法,您可以在其中执行自己的逻辑来创建元素。
最后提供您的CustomOverlayContainer
类作为令牌OverlayContainer
像这样:
@NgModule({
providers: [{provide: OverlayContainer,
useClass: CustomOverlayContainer}],
// ...
})
export class MyModule { }
只需看一下原始文件即可。这很简单:覆盖容器 https://github.com/angular/material2/blob/master/src/cdk/overlay/overlay-container.ts
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)