<mat-form-field>
<input matInput
type="text"
id="confirmationKey"
placeholder="code de confirmation"
formControlName="confirmationKey"
>
<mat-hint>Saisissez la clé de confirmation reçue par e-mail.</mat-hint>
@if(formErrorHandler.getErrorMsg(confirmationKeyControl?.errors); as errorMsg ){
**<mat-error>{{errorMsg}}</mat-error>**
}
</mat-form-field>
警告信息:
Node 匹配“MatFormField”组件的“mat-error, [matError]”插槽,但不会被投影到特定插槽中,因为周围的 @if 在其根处有多个节点。要将节点投影到右侧插槽中,您可以:
可以使用
extendedDiagnostics.checks.controlFlowPreventingContentProjection = "suppress" compiler option.
ngtsc(-998011) 禁用此检查
我尝试过的步骤:
我将 @if 块的内容包装在 an 中以匹配 mat-error 槽,但警告仍然存在。 我将逻辑分成单独的 @if 块,确保每个块只有一个可投影节点,但我仍然看到警告。
我不想禁用extendedDiagnostics.checks.controlFlowPreventingContentProjection =“抑制”。
在使用内容投影处理 @if 时我缺少什么?我如何正确构建它以消除警告?
**
你在开始和结束时都会弄乱角度编译器。也可能是一个错误,您可以通过在 Angular github 上创建问题来验证。
@if(errorMessage(); as errorMsg ){
**<mat-error>{{errorMsg}}</mat-error>**
}
@if(errorMessage(); as errorMsg ){
<mat-error>{{errorMsg}}</mat-error>
}