动态注入组件与通过* ngIf控制

问题描述

我有一种情况,我有一个组件,它执行一些http请求以显示数据,并且如果这样做时有异常,我想只显示错误组件。

错误组件包含在模板上是否有意义

<ng-template [ngIf]="showError">
    <error-view></error-view>
</ng-template>

并将标志设置为true以显示

还是在出现错误时使用ComponentFactoryResolver动态注入组件?

解决方法

*ngIf指令不会立即呈现元素。

以下

<ng-template [ngIf]="showError">
  <error-view></error-view>
</ng-template>

或更短的变体

<error-view *ngIf="showError"></error-view>

showError为真之前,实际上不会渲染组件。

在渲染过程中,ng-template将替换为诊断注释,例如

<!--bindings={
  "ng-reflect-ng-if": "false"
}-->

因此,我说在这种情况下不必使用ComponentFactoryResolver

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...