我有一个抽象的基本组件,可以清除自己的订阅:
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中 (使用-生命周期接口)
答案 0 :(得分:3)
我认为你可以通过制作
来覆盖它来自:
"use-life-cycle-interface": true,
到:
"use-life-cycle-interface": false,
有关测试用例的更多详细信息, Check this out
答案 1 :(得分:0)
对于没有继承性的组件,我也遇到了同样的错误,我通过添加工具OnDestroy对其进行了纠正。