2017-12-09 11 views
0

オブジェクト内の配列にいくつかのコメントを挿入しようとしています(オブジェクトは配列ではありませんが配列があります)。 。私は何を持っていることは、私はさまざまな方法を使用して、それを追加しようとしました。この角2/4オブジェクト内の配列を押し込む

addcomment: test; 
addRow(){ 
    this.addcomment.comment.push({ 
     comment : 'first comment'}) 

のようなコメントアレイ何かにそれを追加したいコメントがそれを作るように見えるカント

export class test{ 
    recordname: string; 
    comments: [{ 
     comment: string 
     }] 
} 

たびにいくつかのいずれかのタイプです作業。私がプッシュするメッセージは未定義です。私はaddcommentを使うことはできません:test [] = [];これはフォームが入力されて保存される形式なので、 コメントの値をプッシュする方法を教えてください

+1

スペルミス、this.addcomment.comment.push({ コメント: '最初のコメント'})はコメントでなければなりません –

答えて

0

この例では、空のrecordNamecomment配列を初期化、我々はその後にアイテムをプッシュすることができる新しいRecordItemを作成します。

export class Comment { 
    comment: string 
} 

export class RecordItem { 
    recordName: string; 
    comments: Comment[] 

    constructor(recordName: string, comments: Comment[]) { 
    this.recordName = recordName; 
    this.comments = comments; 
    } 
} 

const recordItem = new RecordItem('', []); 

recordItem.comments.push({ comment: 'Hey!!' }); 
0

addcomment.comment(スペルミス) にスペルミスがあります。 1.コメントを配列として定義します。 2.次に、プッシュ機能を使用してオブジェクトを渡します。

export class test{ 
     recordname: string; 
     comments: any[]; 
    } 

this.addcomment.comments.push({ 
    comment : 'first comment'}) 
+0

タイポグラフィエラーはコメントされる必要があり、質問はおそらく閉じられました。 – davidxxx

+0

@davidxxxありがとう、それを知らなかった – KHAN

0

常にあなたのオブジェクトや配列を初期化するようにしてください...あなたは、例えばので、さまざまな方法でそれを行うことができますに...

export class test{ 
     recordname: string; 
     comments: any[] = []; //set it as empty array ...intilized 
    } 

addcomment: test = new test(); //<-- INITIALIZE IT 
addRow(){ 
    this.addcomment.comment.push({ 
     comment : 'first comment'}); 
} 

それとも、このapprochが気に入らない場合は... 。

addcomment: test = new test(); //<-- INITIALIZE IT 
    addRow(){ 

//check if nested array is undefined ..or other 
if(!this.addcomment.comment || this.addcomment.comment.length<=0) 
    { 
     this.addcomment.comment =[]; //<-- INITIALIZE AS EMPTY ARRAY 
    } 
     this.addcomment.comment.push({ 
      comment : 'first comment'}); 
    } 

関連する問題