私は人のFormArrayを含むフォームを持っています。人々配列は、その後、私に次のようなJSONを与えるアドレスのFormArrayが含まれています角2 - FormArrayからオブジェクトの配列を作成します。
{
"people": [
{
"lastName": "Last-1",
"firstName": "First-1",
"middleName": "",
"addresses": [
{
"street": "Person1 - Address1"
},
{
"street": "Person1 - Address2"
}
]
},
{
"lastName": "Last-2",
"firstName": "Last-2",
"middleName": "",
"addresses": [
{
"street": "Person2 - Address1"
}
]
}
]
}
は、今私は、フォームからこれらの「人」を取ると人の配列を作成しようとしている
export class ReportPerson {
lastName: string = '';
firstName: string = '';
middleName: string = '';
addresses: PersonAddress[];
}
export class PersonAddress {
street: string = '';
}
オブジェクト
私はconsole.log(form.get( 'people')。value)を使用します。私は次の結果を得ます:
(2) [{…}, {…}]0: {lastName: "Last-1", firstName: "First-1", middleName: "",
addresses: Array(2)}
1: {lastName: "Last-2", firstName: "Last-2", middleName: "",
addresses: Array(1)}length: 2__proto__: Array(0)
しかし、データを取得しようとしても、私のリストは定義されていません。たとえば、未定義の "lastName"を読み取ることができないという結果が返されます。
save(form: any) {
var reportPersonList: ReportPerson[] = new Array();
var people = form.get('people');
for (let i = 0; i < people.length; i++) {
console.log(people[i].lastName);
}
}
}
私の質問は、人々の配列FormArrayのデータからオブジェクトを作成するための適切な構文は何ですか、ですか?私はそれが私が行方不明の何か基本的なものだと知っていますが、私はC#とTypescript/Angular2に慣れています。この問題横切る他の誰のために
コンソールで値を取得できたら、form.get( 'people')。valueを使用してvar people = form.get( 'people')。valueで同じ値を使用できる場合は、 – Sreemat
これは誤字ですか? – Sreemat
私に見えるタイプミスはありません。 Intellisenseには何も表示されません。そして私はエラーなく配列から追加/削除できます。 私は値と「人」の長さを取得することができますが、すぐに私は、配列を反復処理し、プロパティにアクセスしようとして、私は未定義のエラーを取得します。 –