0

angular 8では、データを渡すためのjson形式は次のようになります

 {
  "name": "",
  "address": {
    "line1": "",
    "pincode_id": ""
  }
}

フォームを送信するためのデータを渡すためのフォーマットを作成します

Format() {
    let data = this.Form.controls;
    let ctofclass = new type();
    ctofclass.name = data['name'].value;
    ctofclass.line1 = data.address['line1'].value;
    ctrofclass.pincode_id = data.address['pincode_id'].value.id;
    return ctofclass;
  }

class type {
  name: string;
  line1: string;
  pincode_id:any;
  
}


この形式を使用するときにjson 内の json のデータを渡す方法は 、次の行でエラーが発生しました。

ctrofclass.line1 = data.address['line1'].value;

core.js:6260 ERROR TypeError:未定義のプロパティ「値」を読み取れません

アドレスはjson内にあり、データを渡してフォームを送信する方法

4

1 に答える 1

0

address を formGroup として設定し、line1 と pinecode_id を formControls として設定するか、address 自体に特別な値がない場合は、アドレス内でグループ化せずに pinecode_id と line1 のみを個別のフォーム コントロールとして使用する必要があります。

2 番目のソリューションを使用した例 (最も単純):

CustomFormControl = formbuilder.group({
   name: [initialValue],
   pincode_id: [address.pincode_id] // mapping is done here
   line1: [address.line1]
})

次に、このようなフォームの値にアクセスできますCustomFormControl.controls[name].value

于 2020-10-16T11:03:44.480 に答える