2016-06-02 6 views
1

オブジェクト配列をTypeScriptの配列に追加しようとしています(Angular 2アプリケーションの場合)。ここに私のコードのストリップダウンと単純化されたバージョンがあります:TypeScriptの配列の配列

mylist.ts:

export class myList { 
    constructor(
     Number1: number, 
     String1: string 
    ){} 
} 

mylist.component.ts:

import { myList } from './myList'; 

export class ProductDetailComponent { 

    myNumber: number; 
    myString: string; 

    myList: Array<myList>; 

    constructor() { 
     this.myNumber = 10; 
     this.myString = "some text"; 
    } 

    addNavigation() { 
     this.myList = [ new myList(this.myNumber, this.myString) ]; 
     console.log(JSON.stringify(this.myList)); 
    } 

} 

出力:

[{}] 

何午前私は間違っている?

+0

'myList'がオブジェクトである、配列が、これは動作 –

答えて

4

あなたはMyListのプロパティにバインドしていないので、オブジェクトは空です。

はあなたのためのプロパティを作成します publicまたは private活字体を追加することにより、以下の

export class myList { 
    constructor(
     public Number1: number, 
     public String1: string 
    ){} 
} 

にあなたのクラスを変更し

。 は今、結果は次のようになります。

[{Number1: val, String1: val}] 
+0

完璧な答えを期待されていない、あなたに感謝します!それは今働く:) –

1

myListオブジェクトのプロパティをコンストラクタに設定することはありません。これを試してみてください:

export class myList { 
    constructor(Number1: number, String1: string) { 
     this.number = Number1; 
     this.string = String1; 
    } 
} 
関連する問題