Ich bin mir nicht sicher warum, aber ein Setzer, den ich geschrieben habe, wird nicht erkannt, wenn ich ihn nenne.Aufrufe an Typescript-Setzer geben keine Funktion zurück, obwohl zugehöriger Getter funktioniert
Hier ist der Fehler ausgelöst wird:
TypeError: Bridge.Config.middleware is not a function
Hier die Typoskript ist:
set middleware(val: any) { // should be function or function[]
this.props.exceptions.middleware = val;
}
get middleware() {
return this.props.exceptions.middleware;
}
Hier ist die erzeugte JS:
Object.defineProperty(ConfigService.prototype, "middleware", {
get: function() {
return this.props.exceptions.middleware;
},
set: function (val) {
this.props.exceptions.middleware = val;
},
enumerable: true,
configurable: true
});
Prüfung:
// properly prints value
console.log(Bridge.Config.middleware);
// throws above-mentioned type error
Bridge.Config.middleware(fn);
Wie ich Ausführen (Kompilieren ES5): tsc -w --module 'commonjs' --target 'es5'
Wenn es ein Setter ist, können Sie es wie folgt setzen soll Bridge.Config.middleware = fn; Sie können es einstellen, aber Sie können es nicht wie eine Funktion nennen – Ygalbel
Ah, ich wusste nicht, dass es funktioniert hat. Neu bei Typoskript. Vielen Dank! –