我是否可以扩展Angular 2组件而不必每次都声明模板

时间:2016-11-18 22:02:06

标签: angular

我有following plunker。这是相当直接的,但是,现在我想利用TS Inheiratence,所以我创建了这样的另一个构造函数...

constructor(items: Array<NavItem>){
  this.items = items;
  console.log("New Route Called")
}

所以我想做这样的事情......

@Component({
  selector: "my-other-component"
})
export class MyOtherComponent extends App{
  constructor(){
    super([new NavItem("Other Test 1", "/test/1")]);
  }
}

我试过这样的事情,但couldn't get it working ......

但是我必须多次导入模板,这是我想避免的。

1 个答案:

答案 0 :(得分:0)

代码是正确的。似乎代码顺序对于plnkr来说很重要......我已经将App移到了开头并且它有效。 https://plnkr.co/edit/LukRyJ9OrzguyQlsgXxT?p=preview

您不必重复类属性定义,因此我也删除了它们。另外很高兴知道你可以在App类中有一个带有可选参数的构造函数:

constructor(items?: Array<NavItem>)
  

但是我必须多次导入模板,这是我想避免的。

唯一没有继承的东西是装饰器(类和方法),所以你基本上需要从父类复制它们。无法绕行...希望它有所帮助。