我正在使用 Angular 的 CDK 的覆盖模块。而且我只是找不到添加位置的方法:绝对覆盖?模块将接收一个top
和 一个left
与连接元素位置匹配的位置,但覆盖将不会接收position: absolute
。由于 ViewEncapsulation,我无法添加绝对位置。我真的很难找到解决方案。
问题:
如何使用cdkOverlayOrigin
和cdkConnectedOverlayOrigin
模块:
import { OverlayModule } from '@angular/cdk/overlay';
@NgModule({
imports: [
OverlayModule,
],
declarations: [ MenuComponent ],
})
export class MenuModule {
}
零件:
@Component({
selector: 'app-menu',
templateUrl: './menu.component.html',
styleUrls: [ './menu.component.scss' ],
})
export class MenuComponent {
}
模板:
<div style="margin: 0 auto; width: 30%">
<h1 cdkOverlayOrigin
#checkListTrigger="cdkOverlayOrigin"
(click)="checkListOpen = !checkListOpen"
style="background: blue">Overlay Origin</h1>
<ng-template
cdkConnectedOverlay
[cdkConnectedOverlayOrigin]="checkListTrigger"
[cdkConnectedOverlayOpen]="checkListOpen">
<ng-container>
<p>Why you no positioned on h1 element</p>
</ng-container>
</ng-template>
</div>