因此,我有一个父组件,该组件承载2个同级组件。 像这样
<div *ngif="somecode()">
<sibling1>
</sibling1>
</div>
<div *ngif="somecode()">
<sibling1 [dataParams]=sibling1object.somedata>
</sibling1>
</div>
因此我得到sibling1object.somedata未定义的错误,但是当我从第一个div中删除ngIf()时,错误消失了。 * ngIf解析为true或false无关紧要。所以即使sibling1成功加载,我也会收到错误消息。
答案 0 :(得分:2)
使用[hidden]="!somecode()"
代替*ngIf="somecode()"
答案 1 :(得分:1)
请在parent.component.ts中添加以下代码
public siblingOneLoaded: boolean = false;
ngOnDestroy(): void {
if (sibling1object.somedata) {
this.siblingOneLoaded = true;
}
}
将以下代码添加到html文件中
<div *ngIf="siblingOneLoaded">
<sibling1 [dataParams]=sibling1object.somedata>
</sibling1>
</div>