我有这样的东西;
测试库.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建议myValueTest上可用,但在运行时它不反映TestBase.myValue的值。IDE是否错误地暗示了静态属性继承是允许的,还是BurSeriTys/TsiFy会破坏某些东西?

最佳答案

我认为这与typescript无关,而且您的ide是正确的。静态成员被继承(link)。我已经在node.js环境和chrome浏览器中尝试了您的示例,它输出了
真的
假,真
如预期。所以我想你是对的,假设有别的事情把事情搞砸了,也许是粗俗的。

关于typescript - 静态属性继承未按预期工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36169016/

10-11 12:47