Ich habe die folgende Schnittstelle:
interface SMJSPacket {
header: {
tag: string;
method: string;
type: string;
};
response?: {
status: string;
content: string;
};
event?: {
key?: string;
action?: string;
};
request?: {
run?: string;
};
}
Und dann will ich es als eine Klasse implementieren und die Eigenschaften im Konstruktor festgelegt werden:
class Request implements SMJSPacket {
constructor(data: any, method: string) {
this.header = {
type: 'request',
method: method || 'calld',
tag: Request.getTag()
}
this.request = data;
}
static getTag(): string {
return '_' + goog.now() + '_' + utils.getRandomBetween(1, 1000);
}
}
Jedoch nach der Compiler Anforderung nicht die Schnittstelle zu implementieren. Ich verstehe nicht, wie es sie überprüft, während sie alles nach der Schnittstelle in der Bauphase gefüllt ist und wenn in JavaScript geschrieben würde dies funktionieren, geben Sie die gleiche Sache in Closure Tools Überprüfung auch perfekt funktioniert. Die Idee ist, dass ich die Schnittstelle als eine Klasse implementieren möchten, damit ich Utility-Methoden im Prototyp haben, aber noch in der Lage sein, leicht zu JSON-String zu konvertieren.
Irgendwelche Ideen?
Vielen Dank













