Kapan menggunakan metode forRoot() Angular

Masalah : Kami perlu berbagi layanan bahasa tunggal di semua modul yang dimuat dengan lambat. Selama setahun, saya melihat metode forRoot() dan mengabaikan kekuatannya.

Penjelasan : forRoot()Metode ini mengembalikan NgModuledependensi dan penyedianya.

Dalam contoh ini, kami berbagi layanan untuk mengimbangi nilai counter. Setiap kali komponen mana pun menambah nilai yang disimpan di layanan penghitung, saya ingin membagikannya dengan semua komponen.

Masalahnya adalah ketika Anda mencoba memperkenalkan modul yang dimuat dengan lambat. Perhatikan bagaimana komponen yang dimuat dengan lambat tidak memiliki nilai penghitung yang sama. Saat hanya menggunakan komponen yang dimuat dengan cepat, contoh di bawah ini akan berfungsi jika Anda menggunakan layanan bersama, namun perhatikan bagaimana perilaku komponen yang dimuat dengan lambat. Komponen yang malas mendapatkan instance layanannya sendiri.

import { NgModule } from '@angular/core';
import { CounterService } from './counter.service';
@NgModule({
  providers: [CounterService],
})
export class SharedModule {}

Solusi : Panggil forRoot() di AppModule dan kembalikan ModuleWithProviders di sharedModule.

bersama.modul.ts

import { NgModule,ModuleWithProviders  } from '@angular/core';
import { CounterService } from './counter.service';
@NgModule({
})
export class SharedModule {
  static forRoot(): ModuleWithProviders {
    return {
      ngModule: SharedModule,
      providers: [ CounterService ]
    }
  }
}

import { NgModule } from '@angular/core';
import { BrowserModule  } from '@angular/platform-browser';
import { SharedModule } from './shared/shared.module';
import { AppComponent } from './app.component';
import { EagerComponent } from './eager.component';
import { routing } from './app.routing';
@NgModule({
  imports: [
    BrowserModule,
    SharedModule.forRoot(),
    routing
  ],
  declarations: [
    AppComponent,
    EagerComponent
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

Sekarang layanan penghitung dibagi antara modul yang dimuat dengan penuh semangat dan modul yang dimuat dengan lambat.

Bacaan lain yang direkomendasikan:http://angularfirst.com/the-ngmodule-forroot-convention/

  • Catatan: Saya tidak akan merekomendasikan menempatkan layanan bersama dan arahan bersama dalam modul yang sama. Saya menulis artikel ini sebagai referensi bagi diri saya sendiri di masa depan.

Validator Async Sudut

Suggested posts

Jest — Kerangka Pengujian JavaScript yang Kuat

Jest — Kerangka Pengujian JavaScript yang Kuat

Pengujian adalah bagian penting dari pengembangan perangkat lunak. Ini memastikan bahwa kode dapat diandalkan, berfungsi seperti yang diharapkan, dan mengurangi kemungkinan kesalahan.

Memutakhirkan aplikasi perusahaan ke Angular 16

Ini dia rasa sakitnya

Memutakhirkan aplikasi perusahaan ke Angular 16

Saya benar-benar dibeli oleh semua fitur Angular v16 baru, dimulai dengan sinyal, dan yang lainnya. Dan saya tidak dapat menahan keinginan untuk memutakhirkan salah satu aplikasi perusahaan hanya untuk melihat betapa sulitnya hal itu.

Related posts

Jurnal Ouvert

Jurnal Ouvert

Buku Harian Terbuka: Gambar Sehari. Saya selalu terpesona oleh cerita.

Buku Pertama Seorang Anak tentang Menjadi Tinggi

Buku Pertama Seorang Anak tentang Menjadi Tinggi

(Peringatan- Ini Satire, dimaksudkan untuk Menjadi Gleefully Subversive- Jelas bukan untuk anak-anak) Anda pernah melihat ibu dan ayah Anda bersembunyi di dapur dan merokok rokok yang bau itu. Mereka memberi tahu Anda.

Mendanai penghapusan karbon di FY24

Rincian permintaan alokasi Carbon180 di seluruh jalur

Mendanai penghapusan karbon di FY24

Oleh Alyson Lee, penasihat urusan pemerintah yang mengelola Proses alokasi tahunan pemerintah federal merupakan inti dari upaya kami untuk mendanai penghilangan karbon dioksida (CDR). Setiap tahun, Carbon180 mengajukan permintaan ke berbagai kantor kongres untuk membantu mengarahkan ke mana dolar tahun depan akan mengalir.

Penampilan Solo Gadis Berambut Merah

Atas tugas dari Hayden, Katie memfilmkan dirinya sedang masturbasi.

Penampilan Solo Gadis Berambut Merah

Sudah lewat tengah malam ketika Hayden mengantar Katie kembali ke asrama kampusnya setelah malam mereka bersama. Dia memiliki kelas awal di pagi hari dan tidak memiliki pakaian ganti lagi setelah tinggal bersamanya malam sebelumnya.