Analisis mendalam suntikan pergantungan dalam Angular
Apakah suntikan pergantungan? Artikel ini akan membawa anda melalui suntikan pergantungan dalam Angular Saya harap ia akan membantu anda!
Konsep suntikan kebergantungan:
Penjelasan Wikipedia tentang suntikan kebergantungan: Dalam kejuruteraan perisian, suntikan Ketergantungan ialah corak reka bentuk perisian yang melaksanakan penyongsangan kawalan Kebergantungan ialah objek (perkhidmatan) yang dipanggil oleh objek lain (klien) adalah untuk menghantar contoh objek bergantung (perkhidmatan) kepada objek bergantung.
Menghantar objek bergantung kepada tanggungan tanpa memerlukan tanggungan untuk mencipta atau mencari objek yang diperlukan ialah prinsip asas DI.
Suntikan ketergantungan membolehkan pengaturcaraan mengikut prinsip penyongsangan kebergantungan (ringkasnya, ia memerlukan pengaturcaraan abstraksi, bukan pelaksanaan, sekali gus mengurangkan gandingan antara klien dan modul pelaksanaan) Pemanggil (klien) sahaja Anda perlu mengetahui antara muka perkhidmatan Pencarian dan penciptaan perkhidmatan tertentu dikendalikan oleh penyuntik dan diberikan kepada pelanggan Ini memisahkan pergantungan perkhidmatan dan pemanggil dan mematuhi prinsip pengaturcaraan gandingan rendah. Ia juga merupakan tujuan utama suntikan pergantungan. [Cadangan tutorial berkaitan: "tutorial sudut"]
Penyongsangan kawalan
Penyongsangan kawalan dan suntikan kebergantungan adalah saling melengkapi antara satu sama lain. Contoh: kelasA bergantung pada kelasB tetapi kelasA tidak mencipta contoh kelasB secara aktif dan menghantarnya sebagai parameter.
class A { construct(private b: B) {} } class B {} const a: A = new A(new B());
Suntikan kebergantungan sudut ialah apabila menginstant komponen, tika perkhidmatan dihantar masuk, membentuk penyongsangan kawalan.
Suntikan Kebergantungan
Suntikan kebergantungan sudut menggunakan contoh dan juga merupakan cara untuk Angular berkomunikasi melalui perkhidmatan. Jika suntikan pergantungan tidak digunakan, berbilang kejadian dan komunikasi antara komponen tidak akan dapat menggunakan perkhidmatan. app.module.ts:
import { BrowserModule } from '@angular/platform-browser'; import { NgModule, InjectionToken } from '@angular/core'; import { AppComponent } from './components/app/app.component'; import { SingleServiceService } from './service/single-service.service'; import { MyServiceService } from './service/my-service.service'; import { UseServiceService } from './service/use-service.service'; import { ValueServiceService } from './service/value-service.service'; import { ReactiveFormsModule, FormsModule } from '@angular/forms'; import { HttpClientModule } from '@angular/common/http'; export interface AppConfig { title: string } export const CONFIG = new InjectionToken<AppConfig>('描述令牌的用途'); const USE_Config = { title: "非类的注入令牌" } @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, HttpClientModule, FormsModule, ReactiveFormsModule ], providers: [ SingleServiceService, // 完整形式 // {provide: SingleServiceService, useClass: SingleServiceService} // provide 属性存有令牌,它作为一个 key,在定位依赖值和配置注入器时使用。 // 属性二通知如何创建依赖,实际依赖的值可以是useClass、 useExisting、useValue 或 useFactory // useExisting起别名,依赖注入也可以注入组件 {provide: MyServiceService, useClass: UseServiceService}, // useValue可以是字符串,对象等 {provide: ValueServiceService, useValue: "依赖注入字符"}, // 使用 InjectionToken 对象来为非类的依赖选择一个提供者令牌 { provide: CONFIG, useValue: USE_Config } ], bootstrap: [AppComponent], entryComponents: [] }) export class AppModule { }
SingleServiceService:
import { Injectable } from '@angular/core'; @Injectable() export class SingleServiceService { constructor() { } }
MyServiceService:
import { Injectable } from '@angular/core'; @Injectable() export class MyServiceService { constructor() { } getName(): string { return "my-service"; } }
UseServiceService:
import { Injectable } from '@angular/core'; @Injectable() export class UseServiceService { constructor() { } getName(): string { return "use-service"; } }
import { Injectable } from '@angular/core'; @Injectable() export class ValueServiceService { constructor() { } }
Video Pengaturcaraan! !
Atas ialah kandungan terperinci Analisis mendalam suntikan pergantungan dalam Angular. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Angular.js ialah platform JavaScript yang boleh diakses secara bebas untuk mencipta aplikasi dinamik. Ia membolehkan anda menyatakan pelbagai aspek aplikasi anda dengan cepat dan jelas dengan memanjangkan sintaks HTML sebagai bahasa templat. Angular.js menyediakan pelbagai alatan untuk membantu anda menulis, mengemas kini dan menguji kod anda. Selain itu, ia menyediakan banyak ciri seperti penghalaan dan pengurusan borang. Panduan ini akan membincangkan cara memasang Angular pada Ubuntu24. Mula-mula, anda perlu memasang Node.js. Node.js ialah persekitaran berjalan JavaScript berdasarkan enjin ChromeV8 yang membolehkan anda menjalankan kod JavaScript pada bahagian pelayan. Untuk berada di Ub

Bagaimana untuk menggunakan monaco-editor dalam sudut? Artikel berikut merekodkan penggunaan monaco-editor dalam sudut yang digunakan dalam perniagaan baru-baru ini. Saya harap ia akan membantu semua orang!

Adakah anda tahu Angular Universal? Ia boleh membantu tapak web menyediakan sokongan SEO yang lebih baik!

Dengan perkembangan pesat Internet, teknologi pembangunan bahagian hadapan juga sentiasa bertambah baik dan berulang. PHP dan Angular ialah dua teknologi yang digunakan secara meluas dalam pembangunan bahagian hadapan. PHP ialah bahasa skrip sebelah pelayan yang boleh mengendalikan tugas seperti memproses borang, menjana halaman dinamik dan mengurus kebenaran akses. Angular ialah rangka kerja JavaScript yang boleh digunakan untuk membangunkan aplikasi satu halaman dan membina aplikasi web berkomponen. Artikel ini akan memperkenalkan cara menggunakan PHP dan Angular untuk pembangunan bahagian hadapan, dan cara menggabungkannya

Tingkah laku paparan lalai untuk komponen dalam rangka kerja Angular bukan untuk elemen peringkat blok. Pilihan reka bentuk ini menggalakkan pengkapsulan gaya komponen dan menggalakkan pembangun untuk secara sedar menentukan cara setiap komponen dipaparkan. Dengan menetapkan paparan sifat CSS secara eksplisit, paparan komponen Sudut boleh dikawal sepenuhnya untuk mencapai reka letak dan responsif yang diingini.

Artikel ini akan membawa anda melalui komponen bebas dalam Angular, cara mencipta komponen bebas dalam Angular, dan cara mengimport modul sedia ada ke dalam komponen bebas saya harap ia akan membantu anda!

Projek Angular terlalu besar, bagaimana untuk membahagikannya secara munasabah? Artikel berikut akan memperkenalkan kepada anda cara membahagikan projek Angular secara munasabah. Saya harap ia akan membantu anda!

Bagaimana untuk menyesuaikan format angular-datetime-picker? Artikel berikut membincangkan cara menyesuaikan format saya harap ia akan membantu semua orang!
