理解Angular 中 APP_INITIALIZER 的作用
有时候,你可能需要在应用程序初始化的时候加载些简单的数据或做简单的验证。大部分的什做法是在 main component
组件中做这个事情,但这很得难保证在其他的组件中有效使用,有没有更新的办法做这个事情 呢,请继续往下看。
在 Angular 中 APP_INITIALIZER 的作用是什么?
在官方文档是这样描述的:APP_INITIALIZER 是一个函数,在应用程序初始化时被调用。这就意味着可以通过 AppModule 类的 providers 以 factory 的形式配置它来使用,同时应用程序将会等待它加载完成后进行下一步,所以在这此只适合加载简单的数据。
示例
创建新项目
ng new example --skip-install npm install # yarn install
配置 Provider
首先创建一个 provider ,它会在请求解析完成后返回一个 Promise 对象
@Injectable() export class JokesProvider { private joke:JokeModel = null; constructor(private http:Http){ } public getJoke(): JokeModel { return this.joke; } load() { return new Promise((resolve,reject) => { this.http.get(url) .map(r=>r.json()) .subscribe(r=> { this.joke = r['value']; resolve(true); }) }) } }
这里会经过三个过程:
getJoke() 方法在其他组件或模块调用时直接返回 joke 当前保存的数据
私有属性 joke 会保存当前请求的数据
load() 函数会在应用程序初始时立即调用
创建Provider 工厂
export function jokesProviderFactory(provider: JokesProvider){ return () => provider.load(); }
注册 JokesProvider 和 APP_INITIALIZER
@NgModule({ declarations:[ AppComponent ], imports:[ BrowserModule,// required HttpModule// required ], providers: [ JokesProvider, { provide:APP_INITIALIZER,useFactory: jokesProviderFactory, deps:[JoesProvider], multi:true } ], bootstrap:[AppComponent] }) export class AppModule { }
应用
<p>@Component({<br/> selector:'app',<br/> template:`<h1>Joke of the day: </h1><p>{{jokeModel.joke}} </p>`<br/>})<br/>export class AppComponent implements OnInit{<br/> title = 'app';<br/> jokeModel : JokeModel;<br/> <br/> constructor(jokesProvider: JokesProvider){<br/> this.jokeModel = jokesProvider.getJoke();<br/> }<br/> <br/> ngOnInit(){<br/> console.log('AppComponent: OnInit()');<br/> }<br/>} <br/></p>
Atas ialah kandungan terperinci 理解Angular 中 APP_INITIALIZER 的作用. 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

Apabila kita menyemak imbas tetapan win11, kita mungkin mendapati terdapat tetapan papan kekunci sentuh, tetapi skrin kita tidak menyokong skrin sentuh, jadi apakah kegunaan papan kekunci sentuh win11 ini, sebenarnya ia adalah papan kekunci pada skrin? Fungsi papan kekunci sentuh win11: 1. Papan kekunci sentuh win11 sebenarnya adalah "papan kekunci pada skrin" 2. Ia boleh mensimulasikan papan kekunci sebenar dan menggunakan papan kekunci dengan mengklik. 3. Apabila kita tidak mempunyai papan kekunci atau papan kekunci rosak, kita boleh menggunakannya untuk menaip. 4. Win11 menyediakan banyak pilihan yang diperibadikan untuk papan kekunci sentuh. 5. Ia termasuk pelbagai warna dan tema, membolehkan pengguna menukar gaya kegemaran mereka secara bebas. 6. Klik "gear" di penjuru kiri sebelah atas untuk mengubah suai susun atur papan kekunci, tulisan tangan dan kaedah input lain.

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

Memahami peranan dan penggunaan LinuxDTS Dalam pembangunan sistem Linux terbenam, Device Tree (DeviceTree, singkatan DTS) ialah struktur data yang menerangkan peranti perkakasan dan hubungan sambungan dan atributnya dalam sistem. Pokok peranti membolehkan kernel Linux berjalan secara fleksibel pada platform perkakasan yang berbeza tanpa mengubah suai kernel. Dalam artikel ini, fungsi dan penggunaan LinuxDTS akan diperkenalkan, dan contoh kod khusus akan disediakan untuk membantu pembaca memahami dengan lebih baik. 1. Peranan pokok peranti pokok peranti

Apakah yang dilakukan oleh penyesuai Bluetooth? Dengan perkembangan berterusan sains dan teknologi, teknologi komunikasi tanpa wayar juga telah dibangunkan dan dipopularkan dengan pantas. Antaranya, teknologi Bluetooth, sebagai teknologi komunikasi tanpa wayar jarak dekat, digunakan secara meluas dalam penghantaran data dan sambungan antara pelbagai peranti. Penyesuai Bluetooth memainkan peranan penting sebagai peranti penting yang menyokong komunikasi Bluetooth. Penyesuai Bluetooth ialah peranti yang boleh menukar peranti bukan Bluetooth kepada peranti yang menyokong komunikasi Bluetooth. Ia merealisasikan sambungan wayarles dan penghantaran data antara peranti dengan menukar isyarat wayarles kepada isyarat Bluetooth. Penyesuai Bluetooth

Kepentingan dan peranan fungsi define dalam PHP 1. Pengenalan asas kepada fungsi define Dalam PHP, fungsi define ialah fungsi utama yang digunakan untuk menentukan pemalar tidak akan mengubah nilainya semasa menjalankan program. Pemalar yang ditakrifkan menggunakan fungsi define boleh diakses di seluruh skrip dan bersifat global. 2. Sintaks fungsi define Sintaks asas fungsi define adalah seperti berikut: define("constant name","constant value&qu

Analisis peranan dan prinsip nohup Dalam sistem pengendalian seperti Unix dan Unix, nohup ialah arahan yang biasa digunakan yang digunakan untuk menjalankan arahan di latar belakang Walaupun pengguna keluar dari sesi semasa atau menutup tetingkap terminal, arahan itu boleh masih terus dilaksanakan. Dalam artikel ini, kami akan menganalisis fungsi dan prinsip arahan nohup secara terperinci. 1. Peranan nohup: Menjalankan arahan di latar belakang: Melalui arahan nohup, kita boleh membiarkan arahan yang berjalan lama terus dilaksanakan di latar belakang tanpa terjejas oleh pengguna yang keluar dari sesi terminal. Ini perlu dijalankan

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.

Konsep dan fungsi asas Gunicorn Gunicorn ialah alat untuk menjalankan pelayan WSGI dalam aplikasi web Python. WSGI (Antara Muka Gerbang Pelayan Web) ialah spesifikasi yang ditakrifkan oleh bahasa Python dan digunakan untuk menentukan antara muka komunikasi antara pelayan web dan aplikasi web. Gunicorn membolehkan aplikasi web Python digunakan dan dijalankan dalam persekitaran pengeluaran dengan melaksanakan spesifikasi WSGI. Fungsi Gunicorn adalah untuk
