【问题标题】:Extend component with Input/Output使用输入/输出扩展组件
【发布时间】:2015-11-30 11:35:45
【问题描述】:

是否可以在 Angular 2 中扩展组件并仍然使用父组件中的输入和输出?

export class Book {
  @Input() name;
}

export class EBook extends Book {
  @Input() downloadUrl;
  @Input() size;
}

当我尝试扩展组件时,除了需要属性/装饰器的代码(如输入和输出)之外,类中的所有内容都可以正常工作。 我做了一个说明问题的 plunker:http://plnkr.co/edit/cfTKgScbaXMmEMoGY0zr

Book 是具有一个输入/输出名称的基本组件。

EBook 继承自 Book 并添加了输入/输出 DownloadUrl、Size。

正如您在 plunker 中看到的,EBook 没有名称,因为输入是在 Book 中定义的,而不是在 EBook 中定义的

【问题讨论】:

    标签: angular


    【解决方案1】:

    至于当前版本的 Angular(编写本文时为 7.0.1),您的用例得到了完美支持。并且 Oliver 链接的issue 已经关闭。

    创建了一个示例 Stackblitz(仅突出显示输入装饰器): https://stackblitz.com/edit/angular-fepmtp

    【讨论】:

      【解决方案2】:

      对于 rc4,只有当子类本身没有输入装饰器时,输入装饰器才会被继承。 否则你必须复制所有的声明。

      这是一个已知问题,您可以在此处跟进:https://github.com/angular/angular/issues/5415

      【讨论】:

        猜你喜欢
        • 2021-02-24
        • 2023-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多