資料模型
說明
- 通常代表從伺服器回傳的資料模型物件
- 可以將資料模型複製到表單模型中
- 在表單上進行的資料異動,只會改到表單模型,不會動到資料模型
- 表單模型與資料模型之間的關係不需要1對1對應
- 方法有兩種
this.form.setValue(資料模型物件)
this.form.patchValue(資料模型物件)
setValue()
- 會複寫完整物件
- 傳入
setValue()
的物件,結構必須與FormGroup物件結構完全相同
patchValue()
- 將資料模型部分更新到表單模型中(僅更新部分屬性)
- 傳入
patchValue()
的物件,如果比對不到FormGroup物件的屬性,會自動忽略,不會出現錯誤
程式碼範例:
1.在model-driven-form.component.ts
中寫setValue()
方法和patchValue()
方法,將資料模型物件複製到表單模型物件
setValue(){
var data = {
title: "資料模型1的title",
name: "資料模型1的name"
}
this.form.setValue(data);
}
patchValue(){
var data = {
title: "資料模型2的title",
}
this.form.patchValue(data);
}
2.在model-driven-form.component.html
中,加入觸發前述兩個方法的按鈕
<button (click)="setValue()">setValue()</button>
<button (click)="patchValue()">patchValue()</button>
3.點擊兩個按鈕,測試將資料模型物件複製到表單模型物件