javascript - @ViewChild(CdkPortalOutlet) 在 AfterViewInit 中返回未定义
问题描述
尝试用ng-template
with查询CdkPortalOutlet
总是不成功,我不明白为什么?
<ng-template CdkPortalOutlet></ng-template>
@ViewChild(CdkPortalOutlet) test: CdkPortalOutlet;
解决方案
为了在模板中使用指令CdkPortalOutlet
,AppComponent
您必须导入(即已声明 AppComponent 的 NgModule)PortalModule
AppModule
import { PortalModule } from '@angular/cdk/portal';
...
@NgModule({
imports: [ BrowserModule, FormsModule, PortalModule, OverlayModule ],
^^^^^^^^^^^^
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
此外,Angular HTML 解析器区分大小写,因此您需要像这样使用它:
<ng-template cdkPortalOutlet></ng-template>
^^^
lower case
推荐阅读
- angular - 在 ngAfterViewInit() 中合并两个 observable
- python - AttributeError:“列表”对象没有属性“lstrip”
- elm - index.html 中缺少 html 元素,除了 elm div - Elm 0.19
- python-3.x - 如何在python中对用分号分隔的列值求和
- sql - 如何在不使用主键的情况下避免在连接中填充多行?
- flutter - 在切换到新的 Widget 之前,如何在 StreamBuilder 中添加延迟?
- python-3.x - 如何修复 ssl_certification 错误,该错误由 ssl 包生成并在 restAPI 中使用
- java - 日期格式和分配
- python - django queryset 无法在 annotate 和 Sum 中运行函数
- list - 从记录集创建层次结构