0
Ich möchte eine Klasse mit Dekorateuren erweitern, aber nicht genau wissen, wie. Mein aktueller Ansatz ist wie folgt:Erweitern Klassen mit Dekoratoren in TypeScript
function Foo(value: string) {
return function(target: Function) {
let injected = Object.assign(target.prototype, { foo: value });
return injected;
}
}
@Foo("Hello world")
class Bar {
}
let instance = new Bar();
console.log(instance.foo); // Should say "Hello World"
Aber ich kann meine Klasse nicht mehr instanziiert: „Typeerror: Bar ist kein Konstruktor“.
Wo ist mein Fehler?
gut funktionieren diese nicht funktioniert. Das 'bar'-Objekt bleibt unverändert, wenn versucht wird,' instance.foo' zu erhalten, gibt 'Property'foo' beim Typ'Bar' nicht. – nehalist
@nehalist Hast du eine Flagge 'experimentalDecorators' in deiner tsconfig? Es funktioniert auf meinem lokalen und in Spielplatz https://www.typescriptlang.org/play/ –
@nehalist Aber wenn Sie über Warnen vom Typoskript sprechen, ist es nur, weil TS-Compiler diese Eigenschaft nicht auflösen kann. Überprüfen Sie einfach generierte JS in Spielplatz –