Ich habe die folgenden Klassen in Typoskript:Wie instanziieren, initialisieren und füllen Sie ein Array in TypeScript?
class bar {
length: number;
}
class foo {
bars: bar[] = new Array();
}
Und ich habe dann:
var ham = new foo();
ham.bars = [
new bar() { // <-- compiler says Expected "]" and Expected ";"
length = 1
}
];
Gibt es eine Möglichkeit in Typoskript, das zu tun?
UPDATE
kam ich mit einer anderen Lösung, indem eine Reihe Verfahren mit sich selbst zurück:
class bar {
length: number;
private ht: number;
height(h: number): bar {
this.ht = h; return this;
}
constructor(len: number) {
this.length = len;
}
}
class foo {
bars: bar[] = new Array();
setBars(items: bar[]) {
this.bars = items;
return this;
}
}
so können Sie es initialisieren, wie unten:
var ham = new foo();
ham.setBars(
[
new bar(1).height(2),
new bar(3)
]);
Es wäre wirklich nützlich, Objekt-Initialisierer in TypeScript ähnlich wie C# zu haben. '{{length: 1}]' ist keine Instanz von bar, aber falls unterstützt, wäre 'new bar() {length = 1}' eine Instanz von bar. Vielleicht sollten wir einen Feature-Vorschlag dafür machen? – orad