【问题标题】:Is it possible to pass form valid reference to ng-template in angular是否可以以角度形式传递对 ng-template 的有效引用
【发布时间】:2020-07-06 11:37:41
【问题描述】:

我使用的是 Angular 8,我有以下代码结构。

<div class="addForm" *ngIf="activeForm == 1">
    <form [formGroup]="addForm1">
        <div>
            ---
            ---
            <!-- footer area -->
            <ng-container *ngTemplateOutlet="submitCancelAndReset;context:{isValid: this.addForm1.valid}"></ng-container>
        </div>
    </form>
</div>
<div class="addForm" *ngIf="activeForm == 2">
    <form [formGroup]="addForm2">
        <div>
            ---
            ---
            <!-- footer area -->
            <ng-container *ngTemplateOutlet="submitCancelAndReset;context:{isValid: this.addForm2.valid}"></ng-container>
        </div>
    </form>
</div>
<div class="addForm" *ngIf="activeForm == 3">
    <form [formGroup]="addForm3">
        <div>
            ---
            ---
            <!-- footer area -->
            <ng-container *ngTemplateOutlet="submitCancelAndReset;context:{isValid: this.addForm3.valid}"></ng-container>
        </div>
    </form>
</div>
    
<ng-template #submitCancelAndReset let-isValid="isValid">
    ---
    ---
    <button type="submit" [disabled]="!isValid">SAVE</button>
    ---
    ---
</ng-template>

在这里,所有三个表单的页脚区域都是相同的,所以我创建了一个通用的 ng 模板,其中包括一个带有动态禁用属性的提交按钮。现在我需要将每个表单的有效状态作为输入参数传递给 ng-template,它将绑定到 disabled 属性。 这可能吗?

【问题讨论】:

  • 感谢您的回复。我发现了这个问题,它现在正在工作..

标签: angular angular-reactive-forms ng-template


【解决方案1】:

经过数小时的调试,我发现有一个额外的验证方法,它基于对 form2 和 form3 的可选 API 调用,不幸的是我使用 OR 条件而不是 AND..

仅供参考 - 此问题已解决,可以使用上述代码将不同表单的引用传递给通用 ng 模板。

【讨论】:

    猜你喜欢
    • 2017-08-29
    • 2018-03-03
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 2020-07-17
    • 2018-07-01
    • 1970-01-01
    • 2018-11-21
    相关资源
    最近更新 更多