我有这样的东西;
测试库.ts
export class TestBase {
static myValue: boolean;
constructor() {
TestBase.myValue = true;
}
}
测试
import {TestBase} from './TestBase'
export class Test extends TestBase {
constructor() {
super();
}
}
其他类
import {Test} from './Test';
import {TestBase} from './TestBase';
export class SomeOtherClass {
constructor() {
var test = new Test();
console.log(Test.myValue); // undefined
Test.myValue = false;
console.log(Test.myValue, TestBase.myValue); // false, true
}
}
我的IDE建议
myValue
在Test
上可用,但在运行时它不反映TestBase.myValue
的值。IDE是否错误地暗示了静态属性继承是允许的,还是BurSeriTys/TsiFy会破坏某些东西? 最佳答案
我认为这与typescript无关,而且您的ide是正确的。静态成员被继承(link)。我已经在node.js环境和chrome浏览器中尝试了您的示例,它输出了
真的
假,真
如预期。所以我想你是对的,假设有别的事情把事情搞砸了,也许是粗俗的。
关于typescript - 静态属性继承未按预期工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36169016/