【问题标题】:How to implement OnInit and OnChanges on same component with type safety如何在具有类型安全的同一组件上实现 OnInit 和 OnChanges
【发布时间】:2016-07-04 13:09:52
【问题描述】:

我喜欢 typescript 的其中一个原因是它的类型安全性,并且我始终如一地使用它。

Typescript 不支持多重继承,如何同时通过OnInitOnChanges 扩展Angular 2 组件类?

我知道它可以在不声明继承的情况下工作,但我喜欢我的代码没有波浪线。

【问题讨论】:

  • OnInitOnChanges 是接口,因此您的组件不会继承而是实现这些接口。一个类可以根据需要实现任意数量的接口。
  • 我也是这么想的,但是当我在 WebStorm 中对它们进行 F12(即 goto 定义)时,它们都被实现为生命周期_hooks.d.ts 中的抽象类。我正在使用 Angular 2 RC2。
  • 也许你找到了 Dart 源码github.com/angular/angular/blob/… Dart 没有接口,但你可以将类用作接口,并像接口一样实现它们。
  • 嗯。我不知道 Dart 使用与 typescript 相同的文件结尾。谢谢。

标签: typescript angular


【解决方案1】:

OnInitOnChanges 不是类而是接口,因此您的组件不会继承而是实现这些接口。

由于一个类可以根据需要实现任意数量的接口,因此在同一个组件上同时实现OnInitOnChanges 接口没有问题。

例如:

class FooComponent implements OnInit, OnChanges {
}

欲了解更多信息,请查看Angular Lifecycle Hooks guide

【讨论】:

    猜你喜欢
    • 2017-05-24
    • 2020-12-09
    • 2018-02-16
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多