关于ngIf的问题?

<div id="themeOne" *ngIf="style == 1"        
<ss-wrapper #appdock>    </ss-wrapper>
</div>

ngAfterViewInit() {
    this.load();
}
 load(){
 this.getOpenApiData('service').subscribe(ret => {
        var config = ret;
        this.style = config.style;
        this.appdock.loadModule(this.commonCode);
    });
 }

ngIF在条件为true才会加载下面的html,但是我在给style值之后,还是无法获取dom,导致this.appdock.loadModule是未定义,这个问题怎么解决呢?

阅读 1.5k
1 个回答

你对style赋值后 立马就去访问 this.appdock,此时都没渲染好吧,加一个延迟试试

this.style = config.style;
setTimeout(()=>{
 this.appdock&&this.appdock.loadModule(this.commonCode);
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题