2017-01-30 10 views
1

私はライフサイクルフックが公式の文書でもウェブでも、アングラ2サービスでサポートされているかどうかについての情報は見つけられませんでした。ほとんどのフックは理解できませんが、少なくともngOnInitは非常に便利です。サービスのライフサイクルフック

@Injectable()のngOnInitは、ユーザーがいなくてもブートストラップ中にサービスをインスタンス化するが、呼び出されていないことを示しています。

import { NgModule, Inject, Injectable, OnInit, Component } from '@angular/core' 
import { BrowserModule } from '@angular/platform-browser' 
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 

@Component({ 
    template: 'test', 
    selector: 'my-component' 
}) 
export class MyComponent { 
} 

@Injectable() 
export class MyService /*implements OnInit*/ { 
    constructor() { 
    console.debug('constructing MyService'); 
    } 

    ngOnInit(): void { 
    console.debug('MyService.ngOnInit'); 
    } 
} 

@NgModule({ 
    imports: [ BrowserModule ], 
    providers: [ 
    MyService 
    ], 
    declarations: [MyComponent], 
    bootstrap: [ MyComponent ] 
}) 
class AppModule { 
} 

console.debug('bootstrapping'); 
platformBrowserDynamic().bootstrapModule(AppModule); 

https://plnkr.co/edit/98Q9QqEexYoMRxP3r1Hw?p=info

私の質問されています:それは、この仮定行動ここでのコードのデモはありますか?もしそうなら、それはおそらく文書化されるべきです。そうでない場合は、変更する必要があります。

この問題は、この(主に固定)の問題に由来する:

https://github.com/angular/angular/issues/13811

シナリオ1(問題の非固定部)が有効なコードであるかどうか私には明確ではありません。

答えて

関連する問題