【发布时间】:2012-11-15 17:28:09
【问题描述】:
在 Typescript 中,我有一个这样的模块:
export module ABC{
export class classA {
}
}
我想从 B 类继承 A 类。
class classB {
}
如果我这样做
export module ABC{
export class classA extends classB {
}
}
编译器告诉我 classB 必须是一个类。顺便说一下,classB 位于一个单独的文件中。
我怎样才能让它工作??? 提前致谢
好的,
我决定定义一个模块和另一个模块的内部类的内部实例属性,而不是扩展内部类。就这样:
File1.ts
export module moduleA {
export class classA {
subscribed: bool;
constructor () { }
public unsubscribeLogOff(eventName) {
this.subscribed = false;
}
public subscribeLogOff(eventName) {
this.subscribed = true;
}
}
}
File2.ts
import m = module("moduleA");
export module moduleB {
var instanceA: m.moduleA.classA = null;
export function activate() {
if( this.instanceA == null ) instanceA = new m.moduleA.classA();
instanceA.subscribeLogOff(eventName);
}
export function deactivate() {
if( instanceA == null ) return;
instanceA.unsubscribeLogOff(eventName);
}
}
这里的问题是我希望在调用 subscribeLogOff 之后 classA 的属性 subscribed 保持它的值,所以当调用 unsubscribeLogOff subscribed 的值为 true。
但当我调用 unsubscribeLogOff 时,情况并非如此,subscribed 的值是 undefined。
我无法理解。你能帮我吗???
谢谢
【问题讨论】:
-
如果您的问题有用且正确,请考虑将问题的答案标记为“已接受”。见here for instructions
标签: typescript