आपको रूट फ़ंक्शन को रूट फ़ंक्शन प्रदान करने की आवश्यकता है जो मार्ग कॉन्फ़िगरेशन उत्पन्न करता है और वह पैरामीटर लेता है। इसके अलावा, आपको वह पैरामीटर प्रदान करने की आवश्यकता है।
import {ROUTES} from '@angular/router/src/router_config_loader';
[...]
imports: [RouterModule.forRoot([])] // Empty on purpose
providers: [
SomeParamForTheFunction,
{provide: ROUTES,
multi: true,
useFactory: routesFunction,
deps: [SomeParamForTheFunction]},
]
आप कैसे प्रदान करते हैं कि आप पर निर्भर है। आप इसके लिए एक और कारखाना का उपयोग कर सकते हैं।
अद्यतन: चूंकि रूटिंग कॉन्फ़िगरेशन अब गतिशील है, इसलिए आपको प्रारंभिक पृष्ठ लोड के लिए आवश्यक सभी घटकों के साथ एक प्रविष्टि कॉम्पोनेंट्स संपत्ति भी प्रदान करनी होगी।
import {ROUTES} from '@angular/router/src/router_config_loader';
import {ANALYZE_FOR_ENTRY_COMPONENTS} from '@angular/core';
[...]
imports: [RouterModule.forRoot([])] // Empty on purpose
providers: [
SomeParamForTheFunction,
{provide: ROUTES,
multi: true,
useFactory: routesFunction,
deps: [SomeParamForTheFunction]
},
{
provide: ANALYZE_FOR_ENTRY_COMPONENTS,
useValue: routes, // just write the original routes
multi: true
}
]
इस तरह, आप अगर वे पर घोषित कर रहे हैं एक बार entryComponents
घोषित करने के लिए की जरूरत नहीं होगी:
धन्यवाद @ रूबेन, यह समाधान भी मेरे लिए एक lifesaver रहा है :) –
मैं इसे लागू करने की कोशिश कर रहा हूं और आपका जवाब पा रहा हूं। लेकिन मैं 'मार्ग समारोह' की संरचना पर स्पष्ट नहीं हूं। मैंने रूट ऑब्जेक्ट्स की एक सरणी लौटने की कोशिश की और यह त्रुटि मिली, _ "त्रुटि प्रतीकों को स्थिर रूप से हल करने में त्रुटि आई। केवल आरंभिक चर और स्थिरांक को संदर्भित किया जा सकता है क्योंकि इस चर के मान को टेम्पलेट कंपाइलर द्वारा आवश्यक है (मूल में स्थिति 15:22 .ts फ़ाइल) "_ ' निर्यात फ़ंक्शन लोड राउटरमैप (init: ScaffHelperService) {वापसी init.getRouteMap(); } ' –
शायद यह रूटिंग के लिए असंबंधित कुछ है। यहां मानक कोणीय plnkr उदाहरण का एक कांटा है जो दिखाता है कि यह कैसे काम करता है: https://plnkr.co/edit/kt73vzz8HCSMcj85lQYH?p=preview – Ruben