Я отправляю это сообщение в надежде, что оно кому-нибудь пригодится. Это не точный ответ на эту проблему, но это то, как я преодолеваю свой сценарий. В моем случае я использовал компонент mat-dialog в качестве компонента ввода внутри app.module.ts
entryComponents: [ErrorComponent, UserAccountInfoReloadPopupDialogComponent],
По какой-то причине ng-if он не работает внутри диалога. Это касается не только ng-if, все остальные, такие как ng-for, были недоступны.
Я исправил проблему, определив оба компонента в одном файле ts.
@Component({
selector: "app-account-info",
templateUrl: "./account-info.component.html",
styleUrls: ["./account-info.component.css"],
})
export class AccountInfoComponent implements OnInit {
//code
}
@Component({
selector: "user-account-info-reload-popup-dialog",
templateUrl: "./payment-modal.component.html",
styleUrls: ["./payment-modal.component.css"],
})
export class UserAccountInfoReloadPopupDialogComponent implements OnInit {
//code
}
Затем я определил вновь созданный компонент mat-dialog внутри объявления модуля angular.
@NgModule({
declarations:
[
UserAccountInfoReloadPopupDialogComponent
],
Это устранило мою проблему. Вы можете проверить документацию angular mat-dialog. https://material.angular.io/components/dialog/overview