【发布时间】:2016-05-15 14:00:53
【问题描述】:
我正在尝试将一个抽象类扩展到另一个类,但为了更方便,我需要将这个抽象类放在另一个文件中。不幸的是,它引发了我难以理解的运行时错误。
这行得通:
abstract class Item{
constructor(){
console.log("I am an Item");
}
}
export class Folder extends Item{
constructor(){
super();
}
}
日志:
I am an Item
这不是:
module MyModule{
export abstract class Item{
constructor(){
console.log("I am an Item");
}
}
}
export class Folder extends MyModule.Item{
constructor(){
super();
}
}
编译但抛出:
Uncaught TypeError: Cannot read property 'prototype' of undefined
有人知道发生了什么吗?
【问题讨论】:
-
问题似乎来自于导出抽象类。我刚刚找到的一个解决方案是声明一个指向这个抽象类的 var:export var ItemClass = Item;然后:导出类文件夹扩展 MyModule.ItemClass;它看起来像一个有效的解决方法吗?
标签: class module typescript extends