Typescript には、次のようなモジュールがあります。
export module ABC{
export class classA {
}
}
クラスBからクラスAを継承したいと思います。
class classB {
}
私がこのようなことをしたら
export module ABC{
export class classA extends classB {
}
}
コンパイラは、classB はクラスでなければならないと教えてくれます。ちなみにclassBは別ファイルになっています。
どうすればそれを機能させることができますか??? 前もって感謝します
Ok、
内部クラスを拡張する代わりに、モジュールと、別のモジュールの内部クラスの内部インスタンス プロパティを定義することにしました。そのように:
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です。
私は理解できない。手伝って頂けますか ???
ありがとう