参见英文答案 >
ngOnInit not being called when Injectable class is Instantiated3个
是否可以为使用@Injectable()注释的服务提供生命周期挂钩?
是否可以为使用@Injectable()注释的服务提供生命周期挂钩?
我曾经期望在这样的服务上调用生命周期钩子,但我被证明是错误的,它似乎只在@Component上工作.当依赖注入创建/销毁服务时,有没有办法在服务中获得信息?
import {Component,Injectable,OnInit,OnDestroy} from 'angular2/core'; @Injectable() export class SampleService implements OnInit,OnDestroy { ngOnInit() { console.log("OnInit") } ngOnDestroy() { console.log("OnDestroy") } } @Component({ selector: "sample",template: "<div>Sample Component</div>",providers: [ SampleService ] }) export class SampleComponent { constructor() { private _sampleService: SampleService } }