微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

运行ng build --output-hashing = all --prod时,类型'AbstractControl'上不存在属性'controls'

如何解决运行ng build --output-hashing = all --prod时,类型'AbstractControl'上不存在属性'controls'

在运行ng build --output-hashing=all --prod时,类型'AbstractControl'上不存在属性'controls',但是对于ng build来说一切正常

我有以下表单组

export class TestCenterLocationStep2Component extends BaseFormComponent<any> implements OnInit {
    this.$form = this.fb.group({
          email: [this.step2.email || '',[Validators.required,Validators.email,Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$')]],phone: [this.step2.phone || ''],configuration: this.fb.group({
    
            sessionopenDays: [this.step2.configuration.sessionopenDays || '',Validators.required],sessionopenHours: [this.step2.configuration.sessionopenHours || '',sessionopenMinutes: [this.step2.configuration.sessionopenMinutes || '',sessionCloseDays: [this.step2.configuration.sessionCloseDays || '',sessionCloseHours: [this.step2.configuration.sessionCloseHours || '',sessionCloseMinutes: [this.step2.configuration.sessionCloseMinutes || '',applicationExpiryDays: [this.step2.configuration.applicationExpiryDays || '',applicationExpiryHours: [this.step2.configuration.applicationExpiryHours || '',applicationExpiryMinutes: [this.step2.configuration.applicationExpiryMinutes || '',paymentCloseDays: [this.step2.configuration.paymentCloseDays || '',paymentCloseHours: [this.step2.configuration.paymentCloseHours || '',paymentCloseMinutes: [this.step2.configuration.paymentCloseMinutes || '',Validators.required]
          })
        });
}

HTML

<form [formGroup]="$form" (ngSubmit)="onFormSubmit()" *ngIf="$form" novalidate>
    <div class="mt-3" formGroupName="configuration">
        <div class="form-group row w-100 pr-5">
            <label for="sessionopenDays"
                class="col-sm-5 col-form-label">Days</label>
            <div class="col-sm-7">
                <select class="form-control" id="sessionopenDays"
                    formControlName="sessionopenDays"
                    [class.is-invalid]="(!$form.controls.configuration.controls.sessionopenDays.valid && $form.controls.configuration.controls.sessionopenDays.touched) || (!$form.controls.configuration.controls.sessionopenDays.valid && validate)">
                    <option value="" disabled></option>
                    <option *ngFor="let item of days" [ngValue]="item">{{item}}
                    </option>
                </select>
                <div class="invalid-Feedback"
                    *ngIf="(!$form.controls.configuration.controls.sessionopenDays.valid && $form.controls.configuration.controls.sessionopenDays.touched) || (!$form.controls.configuration.controls.sessionopenDays.valid && validate)">
                    required</div>
            </div>
        </div>
    </div>
</form>

FormGroup

export abstract class BaseFormComponent<T> {
  @Output() $form: FormGroup;
}

获取异常

src/app/testCentres/test-centre-locations/test-center-location-step2/test-center-location-step2.component.html(58,53): Property 'controls' does not exist on type 'AbstractControl'.

在运行命令ng build --output-hashing=all --prod时,但是,对于ng build来说,一切都很好

解决方法

更改后

[class.is-invalid]="(!$form.controls.configuration.controls.sessionOpenDays.valid && $form.controls.configuration.controls.sessionOpenDays.touched) || (!$form.controls.configuration.controls.sessionOpenDays.valid && validate)"

<div class="invalid-feedback"
                    *ngIf="(!$form.controls.configuration.controls.sessionOpenDays.valid && $form.controls.configuration.controls.sessionOpenDays.touched) || (!$form.controls.configuration.controls.sessionOpenDays.valid && validate)">
                    Required</div>

收件人

[ngClass]="{'switchError': (!$form.get('configuration').get('idTypesAccepted').valid && $form.get('configuration').get('idTypesAccepted').touched) || (!$form.get('configuration').get('idTypesAccepted').valid && validate)}"


    <div class="text-danger" style="font-size: 12px;"
        *ngIf="(!$form.get('configuration').get('idTypesAccepted').valid && $form.get('configuration').get('idTypesAccepted').touched) || (!$form.get('configuration').get('idTypesAccepted').valid && validate)">
  At least one must be selected</div>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?