2017-04-15 7 views
9

आयनिक 3 पृष्ठों के साथ IonicPage और IonicPageModule का उपयोग करके आलसी लोड किया जा सकता है। समस्या यह है कि इन आलसी लोड किए गए पृष्ठों में पाइप तक पहुंच नहीं है।आयनिक 3, आलसी लोड किए गए पृष्ठों के लिए पाइप के लिए साझा मॉड्यूल

Failed to navigate: Template parse errors: 
The pipe 'myPipe' could not be found ("") 

This question समस्या का वर्णन करता है और समाधान प्रदान करता है। प्रस्तावित समाधान के साथ मेरी एकमात्र चिंता यह है कि इसे सभी आलसी लोड किए गए पृष्ठों में साझा मॉड्यूल pipes.module आयात करने की आवश्यकता है।

एंजुलर 2 में पेश की गई एक अच्छी सुविधा को वापस करने के लिए किस तरह की वापसी की जाती है जो पाइप को app.module.ts में केवल एक बार आयात करना है।

मुझे लगता है कि साझा मॉड्यूल pipes.moduleapp.module में आयात करके बेहतर तरीका होना चाहिए ताकि सभी पाइप सभी पृष्ठों पर दिखाई दे सकें।

यहाँ app.module.ts

@NgModule({ 
    declarations: [ 
    MyApp, 
    ], 
    imports: [ 
    BrowserModule, 
    HttpModule, 
    PipesModule, 
    IonicModule.forRoot(MyApp), 
    IonicStorageModule.forRoot() 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
    MyApp, 

    ], 
    providers: [] 
    }) 
    export class AppModule { } 

हम

PipesModule.forRoot(MyApp) 

उपयोग नहीं करना चाहिए बनाने के लिए है सब आलसी पृष्ठों को लोड करने के लिए PipesModule सुलभ?

यहाँ pipes.moudle.ts फ़ाइल है:

@NgModule({ 
    declarations: [ 
     BreakLine, 
     Hashtag, 
     Translator 
    ], 
    imports: [ 

    ], 
    exports: [ 
     BreakLine, 
     Hashtag, 
     Translator 
    ] 
    , 
}) 
export class PipesModule {} 

उत्तर

3

मैं वैसे ही जैसे आप इस संभाल करने के लिए उचित तरीके से लगता है, कुछ शोध के बाद मैं कहेंगे कोशिश कर रहा था कि जिस तरह से हम की वजह से इस संभाल करने की अपेक्षा की जाती है निम्नलिखित।

कोणीय faqs से

:

घटकों, निर्देशों, और पाइप है कि आप अपने अनुप्रयोग में हर जगह का उपयोग के साथ एक SharedModule बनाएँ। इस मॉड्यूल में पूरी तरह से घोषणाएं होनी चाहिए, जिनमें से अधिकांश निर्यात किए गए हैं।

आयात अपनी सुविधा मॉड्यूल में SharedModule, उन दोनों लोड जब अनुप्रयोग शुरू होता है और उन आप आलसी लोड बाद में

इसके अलावा, मैं इस आयनिक 3 doc, जो कैसे घटकों को संभालने के लिए कुछ सुझाव प्रदान करता है पाया, पाइप और सेवाएं।

+1

मैंने आईओनिक दस्तावेज़ देखा था। मुद्दा यह है कि मेरे साझा मॉड्यूल हर जगह की जरूरत है। यही कारण है कि इसे 'app.module.ts' में सभी अन्य घटकों से दिखाई देने के लिए आयात किया जाना चाहिए। –

1

अलग-अलग पेज मॉड्यूल में पाइप मॉड्यूल आयात करने के लिए सुझाए गए नए दृष्टिकोण बेहतर हैं, क्योंकि ऐप/पवा शुरू होने पर आपको पाइप लोड करने की ज़रूरत नहीं है, जिससे आलसी लोडिंग का उपयोग करके ऐप लोड हो जाता है।

अधिक जानकारी के लिए this आलेख देखें।

+0

मैं अपनी खोज के दौरान इस लिंक के माध्यम से चाहता हूँ। मैं समझता हूं कि यह वही तरीका है। मैंने सोचा कि हर जगह आयात को कम करने के लिए एक बेहतर तरीका होना चाहिए। –

संबंधित मुद्दे