Angular 2+ Component扩展了Component,但是tslint抱怨继承的生命周期钩子

时间:2018-02-07 13:09:27

标签: angular tslint

我有一个抽象的基本组件,可以清除自己的订阅:

import { OnDestroy, OnInit } from '@angular/core';
import { Subject } from 'rxjs/Subject';

export abstract class NeatComponent implements OnDestroy, OnInit {
// Add '.takeUntil(this.ngUnsubscribe)' before every '.subscrybe(...)'
// and this subscriptions will be cleaned up on component destroy.

  protected ngUnsubscribe: Subject<any> = new Subject();

  public ngOnDestroy() {
    this.ngUnsubscribe.next();
    this.ngUnsubscribe.complete();
  }

  public ngOnInit(){}
}

现在我创建了工作组件:

export class CategorySelectorComponent extends NeatComponent {

    public constructor() { super(); }
    
    public ngOnInit() {
      // some code
    }
}

一切正常,但tsLint不喜欢我的ngOnInit方法:

  

[tslint]为方法ngOnInit实现生命周期钩子接口OnInit   在类CategorySelectorComponent中   (使用-生命周期接口)

2 个答案:

答案 0 :(得分:3)

我认为你可以通过制作

来覆盖它

来自:

"use-life-cycle-interface": true,

到:

"use-life-cycle-interface": false,

有关测试用例的更多详细信息, Check this out

答案 1 :(得分:0)

对于没有继承性的组件,我也遇到了同样的错误,我通过添加工具OnDestroy对其进行了纠正。