簡體   English   中英

角度2無法讀取未定義的屬性

[英]angular 2 cannot read property of undefined

我收到以下錯誤

無法讀取未定義的屬性“值”

下面是我的代碼

模板

<select class="form-control form-control-lg" formControlName="contractor" (ngModelChange)="onChange($event.target.value)" >
                    <option *ngFor="let contrac of contractors" [ngValue]="contrac">{{contrac.name}}</option>
                </select>

 <label class="control-label col-lg-2">Agency</label>
            <div class="col-lg-10">
                <input type="text" class="form-control form-control-lg" placeholder="Payroll Number" formControlName ="selectedAgency">
            </div>

零件

 ngOnInit() {
        this.form = this.fb.group({
            agency: ['', Validators.required],
            contractor: ['', Validators.required],
            selectedAgency : ['', Validators.required]

        });

 onChange = (contrac) => {
        alert(contrac.vendor);
        this.form.patchValue({ selectedAgency: contrac.vendor });
    }

這里有什么錯過的嗎?

-Alan-

它應該是 :

(ngModelChange)="onChange($event)"

...或尚未使用(change)

(change)="onChange($event.target.value)"

但是,似乎您只是在使用它來設置表單中另一個控件的值,對吧?

因此,可以在要設置值的輸入上使用[ngModel] ,如下所示:

<select class="form-control form-control-lg" formControlName="contractor">
  <option *ngFor="let contrac of contractors" 
          [ngValue]="contrac">{{contrac.name}}</option>
</select>

<label class="control-label col-lg-2">Agency</label>
<div class="col-lg-10">      
  <input type="text" 
         class="form-control form-control-lg" 
         placeholder="Payroll Number" 
         formControlName ="selectedAgency" 
         [ngModel]="myForm.get('contractor').value.vendor">
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM