обмениваться данными между одноуровневыми компонентами, в то время как оба они используют * ngIf - PullRequest
1 голос
/ 12 апреля 2019

Итак, у меня есть родительский компонент, в котором размещены 2 компонента-брата.что-то вроде этого

<div *ngif="somecode()">
 <sibling1>
 </sibling1>
</div>

<div *ngif="somecode()">
 <sibling1 [dataParams]=sibling1object.somedata>
 </sibling1>
</div>

, поэтому я получаю сообщение об ошибке, что sibling1object.somedata не определен, но когда я удаляю ngIf () из 1-го div, ошибка исчезает.Не имеет значения, разрешает ли * ngIf значение true или false.поэтому я получаю сообщение об ошибке, даже если sibling1 успешно загружается.

Ответы [ 2 ]

2 голосов
/ 12 апреля 2019

Используйте [hidden]="!somecode()" вместо *ngIf="somecode()"

1 голос
/ 12 апреля 2019

Пожалуйста, добавьте следующий код в 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...