自定义装饰器和继承angular2

时间:2017-04-25 21:24:00

标签: javascript angular inheritance typescript

我制作了自定义属性装饰器:

export function Attr(label: MemberInfo) {

  return function (target: any, key: any) {

  if (!target.params) {
    target.params = [];
  }
  label.name = key;

  target.params.push(label);
};}

所以现在,我能够做到这样的事情:

@Attr{...}
test:any;

然后,有关成员测试的一些信息被添加到数组参数中。问题是我的继承级别很少,传递给函数装饰器的目标总是特定类的父级,即我希望有这样的结构:

classA -> ClassB
classA -> ClassC

ClassA是classB和ClassC的基类。 ClassB和ClassC从基类继承数组参数。基类classA添加了一些装饰器,这是两个子类应该可见的。问题是,当我在ClassB中使用装饰器和ClassC时,所有东西都被添加到基类的数组参数中。

据我了解继承,两个分类都有阵列参数的另一个“副本”。我可以做什么来分离这两个类数组,但仍然使用在基类中声明的params的核心?请帮帮我:)。

0 个答案:

没有答案