2016-06-02 13 views
1

Ich versuche, ein Array in TypeScript (für eine Angular 2 App) zu einem Array hinzuzufügen. Hier ist eine abgespeckte und vereinfachte Version meines Code:Arrays von Arrays in 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)); 
    } 

} 

Ausgang:

[{}] 

Was ist Ich mache falsch?

+0

'myList' ist ein Objekt, kein Array, dieses Verhalten –

Antwort

4

Sie sind nicht auf eine Eigenschaft MyList Bindung damit Ihr Objekt leer ist.

Ihrer Klasse der

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

von public oder private Typoskript wird das Hinzufügen Eigenschaften für Sie erstellen. nun das Ergebnis sein wird:

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

Perfekte Antwort erwartet wird, danke! es funktioniert jetzt :) –

1

Sie haben nie Eigenschaften des myList-Objekts in seinem Konstruktor festgelegt. Versuchen Sie folgendes:

export class myList { 
    constructor(Number1: number, String1: string) { 
     this.number = Number1; 
     this.string = String1; 
    } 
}