私はapp.module.ts
でサービスを登録する場合、私はコンポーネントapp.module.tsの登録サービスと、angular4の個々のコンポーネントの利点は何ですか?例えば
app.module.ts
import { AppComponent } from './app.component';
import { MyComponent } from './mycomponent/mycomponent.component';
import { MyService } from './services/myservice.service';
@NgModule({
declarations: [
AppComponent,
MyComponent
],
imports: [
],
providers: [MyService],
bootstrap: [AppComponent]
})
mycomponent.component.ts
import { Component, OnInit } from '@angular/core';
import { MyService } from '../services/myservice.service';
@Component({
selector: 'my-selector',
templateUrl: './mycomponent.component.html',
styleUrls: ['./my-component.component.scss']
})
export class MyComponent implements OnInit {
constructor(private _myService: MyService) { }
ngOnInit() {
this._myService.test()
}
}
でサービスを利用できるように次の操作を実行する必要がしかし、私はちょうどもできましたコンポーネント自体に登録して、何も追加せずに使用します。app.module.ts
import { Component, OnInit } from '@angular/core';
import { MyService } from '../services/myservice.service';
@Component({
selector: 'my-selector',
templateUrl: './mycomponent.component.html',
styleUrls: ['./my-component.component.scss'],
providers: [MyService]
})
export class MyComponent implements OnInit {
constructor(private _myService: MyService) { }
ngOnInit() {
this._myService.test()
}
}
私は好奇心が強いですが、それぞれの違いは何ですか?
モジュールレベルで定義されたプロバイダは、グローバルインジェクタの一部になります。[モジュールで一般的な混乱を避ける](https://blog.angularindepth.com/avoiding-common-confusions-with-modules-in-angular- ada070e6891f) –