我在父组件中有一个子组件。我的问题是:子组件何时会显示在代码中?在父函数完成之前或在分配变量的语句之后。请查看下面的代码:
parent.component.html
<child-component *ngIf="show"> </child-component>
parent.component.ts
function(){
this.show = true;
this.anotherVariable = 5;
}
在上面的代码中,何时将显示子组件?语句this.show = true;
运行后或函数结束后(即this.anotherVariable = 5;
语句之后)。
答案 0 :(得分:2)
在show
设置为true
之后,它将显示在下一个change detection cycle上。
通常,是的,这意味着变量更改后立即出现。
变更检测是一个很大的主题,请在此处阅读更多信息,但是基本上,通过更改父级中的任何绑定属性,您很可能会调用变更检测器,该检测器会将其新值通知子组件( CD的主要工作)。
为优化此过程,您可能应该将组件显示为该事务的最后一步。