0
ミックスインクラスで遊んでいて、デコレータとのやりとりがわかりにくいです。デコレータ付きミックスインクラス
デコレータを使用すると、 `Property '_tag'の行に沿ったメッセージがOriginalClass型には存在しませんが、中間クラスを作成すると正常に動作するようです。これはこれを行うべきか、これを行う別の方法がありますか?
function mix<T extends Constructor<{}>>(Base: T) {
return class extends Base {
_tag: string;
constructor(...args: any[]) {
super(...args);
this._tag = "";
}
}
}
@mix
class OriginalClass {
constructor() {
//do something
}
}
const a = new OriginalClass();
// Why does this not work
a._tag = 'hi'
// But this does work
class NewClass extends mix(OriginalClass){};
b = new NewClass()
b._.tag = 'hi'
ありがとう、ちょっと早くその問題を見てみたいと思っています - ミックスインクラスについてかなりお伝えしました。 – noveyak