0

我在angular2(draw2d-wrapper)上使用draw2d。我正在尝试从他们那里扩展一个类。

export class Table extends (draw2d.shape.layout.VerticalLayout as { new(): any }) {
    static NAME: "Table";
    /*Some code*/
}

当我这样做的时候在我的代码上 var t = new Table();

t.NAME 属性为“draw2d.shape.layout.VerticalLayout”。

我可以在 angular2 typescript 代码中覆盖这个 JavaScript 属性吗?

4

1 回答 1

0

由于您正在尝试访问表实例上的属性,因此它并不是真正的静态属性。简化您的示例,这有效:

class VerticalLayout {
  NAME = "VerticalLayout";
}

class Table extends VerticalLayout  {  
  NAME = "Table";
}

new Table().NAME; // Table

我希望同样适用于从draw2d.shape.layout.VerticalLayout

于 2017-09-08T10:12:44.137 回答