Условие ngIf в ошибке шаблона компонента?

#angular

#angular

Вопрос:

Я получаю эту ошибку в компоненте BlockComponent :

Не удается выполнить привязку к ‘ngIf’, поскольку это неизвестное свойство ‘app-adresat-list’.

У компонента BlockComponent есть шаблон:

 <app-adresat-list *ngIf="element.tag === 'ADRESATS'" [parentBlock]="parentBlock" [list]="element?.children"></app-adresat-list>
  

Почему *ngIf не работает на компоненте, это случается иногда, не всегда?

Я проверил, что это BlockComponent зарегистрировано в app.module.

Я попытался заменить templte на этот:

 <div *ngIf="true">Done</div>
  

Это работает, почему?

Весь код является:

 <ng-container *ngFor="let element of documentBlock?.children">
    <ng-container *ngIf="element.type === fielType.Block">
        <app-block [parentBlock]="documentBlock?.children" [element]="element"></app-block>
    </ng-container>
</ng-container>
  

Комментарии:

1. импортировали ли вы CommonModule в свой NgModule ?

2. Конечно, я знаю об этом, может быть, проблема в том, что я использую шаблон BlockComponent recursive?

3. Не могли бы вы добавить еще немного кода? Имеет ли element.tag правильное значение?

4. Да, имеет правильный код. Теперь это работает, иногда нет, я опубликовал весь код

5. Если компонент из сторонней библиотеки, это не ваша вина, если это ваша, убедитесь, что вы импортируете CommonMdoule в тот же модуль, в который импортирован компонент

Ответ №1:

Пожалуйста, импортируйте CommonModule из модуля, который предоставляет ваш компонент.

 import { CommonModule } from '@angular/common'; 
import { BrowserModule } from '@angular/platform-browser'; 



@NgModule(
{ imports: [CommonModule], 
declarations: [MyComponent]
 ... })

 class MyComponentModule {}