我对 MobX 注释有一个奇怪的问题,@action
结果对象上不存在带注释的方法。
如果我的类源是以下 TypeScript(作为最小示例):
export class Car {
@observable
public wheels: number = 4;
@action
public selfDestruct() {
this.wheels = 0;
}
}
我调用该方法如下:
const car = new Car();
car.selfDestruct();
我收到一个错误:
Uncaught TypeError: car.selfDestruct is not a function
car.selfDestruct()
在控制台中评估返回undefined
.
但是,如果我使用动作功能一切似乎都很好:
export class Car {
@observable
public wheels: number = 4;
public selfDestruct = action(
() => this.wheels = 0
);
}
const car = new Car();
car.selfDestruct(); // works fine
作为参考,我使用 MobX 5.5.2 和 TypeScript 3.1.1。编译由 ParcelJS 1.10.1 处理