समस्या : हमें सभी लेज़ी लोडेड मॉड्यूल में एक सिंगलटन भाषा सेवा साझा करने की आवश्यकता थी। एक साल तक, मैंने forRoot() विधि को देखा और बस इसकी शक्ति को अनदेखा किया।
स्पष्टीकरण : forRoot()विधि एक NgModuleऔर उसके प्रदाता निर्भरताएँ लौटाती है।
इस उदाहरण में, हम काउंटर वैल्यू को बनाए रखने के लिए एक सेवा साझा कर रहे हैं। हर बार जब कोई घटक काउंटर सेवा में संग्रहीत मूल्य बढ़ाता है, तो मैं इसे सभी घटकों के साथ साझा करना चाहता हूं।
समस्या तब होती है जब आप आलसी लोडेड मॉड्यूल को पेश करने का प्रयास करते हैं। ध्यान दें कि आलसी लोडेड घटक समान काउंटर मान साझा नहीं करता है। केवल उत्सुक लोडेड घटकों का उपयोग करते समय, यदि आप साझा सेवा का उपयोग करते हैं तो नीचे दिया गया उदाहरण काम करेगा, लेकिन ध्यान दें कि आलसी लोडेड घटक कैसे व्यवहार करता है। आलसी घटक को सेवा का अपना उदाहरण मिलता है।
import { NgModule } from '@angular/core';
import { CounterService } from './counter.service';
@NgModule({
providers: [CounterService],
})
export class SharedModule {}
समाधान : AppModule में forRoot() को कॉल करें और sharedModule में ModuleWithProviders लौटाएं।
shared.मॉड्यूल.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 {}
अब काउंटर सेवा उत्सुकता से लोड किए गए मॉड्यूल और आलसी लोड किए गए मॉड्यूल के बीच साझा की जाती है।
अन्य अनुशंसित पठन सामग्री:http://angularfirst.com/the-ngmodule-forroot-convention/
कोणीय AsyncValidators
परीक्षण सॉफ्टवेयर विकास का एक अनिवार्य हिस्सा है। यह सुनिश्चित करता है कि कोड विश्वसनीय है, अपेक्षित रूप से कार्य करता है, और त्रुटियों की संभावना को कम करता है।
मैं पूरी तरह से सभी नए कोणीय v16 सुविधाओं द्वारा खरीदा गया हूं, संकेतों से शुरू होता है, और अच्छी तरह से, बाकी सब कुछ। और मैं सिर्फ यह देखने के लिए कि यह कितना कठिन हो सकता है, कंपनी के ऐप्स में से किसी एक को अपग्रेड करने के आग्रह को रोक नहीं सका।
नमस्ते, साइबर उत्साही! थ्रेट हंटिंग सीरीज के लिए OSINT में वापस स्वागत है। पहले लेख में, मैंने आपको OSINT और खतरे की खोज में इसके महत्व के बारे में एक संक्षिप्त विवरण दिया था।
कोई भी तर्कसंगत दिमाग जानता है कि राजनीतिक और मीडिया हलकों में वामपंथियों का वर्चस्व है, यहां तक कि अति वामपंथी भी, ऐसी स्थिति जो राजनीतिक प्रवचन में असंतुलन पैदा करती है। धर्म के क्षेत्र में, यह असंतुलन स्पष्ट रूप से दिखाई देता है: वामपंथी समाचार पत्र और नेटवर्क ईसाई धर्म की रक्षा के लिए जल्दबाजी नहीं कर रहे हैं।
जो पुराना था वह फिर से नया हो गया और जो चमक-दमक वाली चीज हुआ करती थी वह अब फीकी लगने लगी है। मैं जेएनसीओ जीन्स के बारे में बात नहीं कर रहा हूं, जो 1990 के दशक के उत्तरार्ध के फैशन के साथ-साथ शांत बच्चों के बीच वापसी कर रहा है।
आज की आपस में जुड़ी हुई दुनिया में, साइबर हमलों का खतरा पहले से कहीं अधिक प्रचलित है। साइबर अपराधी और राष्ट्र-राज्य अभिनेता लगातार कमजोरियों का फायदा उठाने और मूल्यवान डेटा चोरी करने की कोशिश कर रहे हैं, जो सभी आकार के संगठनों के लिए एक महत्वपूर्ण जोखिम पोस्ट कर रहे हैं।