कोणीय 2 आरसी .1 और टाइपस्क्रिप्ट का उपयोग करना। जब घटक को सब्रॉउट में लोड किया जाता है तो मुझे अपने घटक में रूटिंग पैरामीटर पास करने में बहुत परेशानी हो रही है। मैं @angular/router-deprecated
पैकेज का उपयोग करता हूं।कोणीय 2: मार्ग पैरामीटर को subroute कैसे पास करें?
@RouteConfig([
{path:'/top', name:'Top', component: EndPointComponent},
{path:'/sub/...', name:'Sub', component: MiddleManComponent}
])
यहाँ endpoint घटक वह जगह है जहाँ मैं मापदंडों
import {Component} from '@angular/core';
import {RouteParams} from '@angular/router-deprecated';
@Component({
template: 'Route Params: {{routeParams.params | json}}'
})
export class EndPointComponent{
constructor(private routeParams:RouteParams){}
}
यहाँ है पढ़ने के लिए प्रयास:
मेरी जड़ घटक में, मैं इस तरह के रूप में कॉन्फ़िगर किया गया मार्गों midman घटक subPoute के साथ EndPointComponent
import {Component} from '@angular/core';
import {RouteConfig, ROUTER_DIRECTIVES} from '@angular/router-deprecated';
import {EndPointComponent} from "./endpoint.component";
@Component({
directives: [ROUTER_DIRECTIVES]
template: `<router-outlet></router-outlet>`
})
@RouteConfig([
{path: '/end', name: 'End', component: EndPointComponent, useAsDefault: true}
])
export class MiddleManComponent {}
पैरामीटर सफलतापूर्वक EndPointComponent
की routeParams
वस्तु से पढ़ा जा सकता है जब घटक शीर्ष स्तर के मार्ग से भरी हुई है (जैसे: मार्ग नामित जड़ घटक में 'टॉप')। हालांकि, पैरामीटर हमेशा खाली होते हैं जब मैं EndPointComponent
पर throug MiddleManComponent
(उदाहरण के लिए: रूट घटक में 'सब' नामक मार्ग के माध्यम से EndPointComponent
पर नेविगेट करता हूं।
क्या बच्चों के राउटर मार्गों को हल करने से पहले माता-पिता से पैरामीटर साफ़ करते हैं? इससे ज्यादा समझ नहीं आती है इसलिए मुझे यकीन है कि मुझे कुछ याद आ रहा है। मेरा सवाल बस है: मैं रूट पैरामीटर को सबराउट में कैसे पास करूं?
पीएस: मैंने demo this setup पर प्लंकर बनाने की कोशिश की लेकिन मैंने छोड़ दिया जब मुझे पता नहीं चला कि एप्लिकेशन लोड क्यों नहीं होता है।
धन्यवाद। यह वास्तव में एक दिलचस्प समाधान है। ऐसा लगता है कि यह थोड़ा हैकी है? जहां तक आप जानते हैं, एंगुलर 2 में इसका कोई अंतर्निहित समाधान नहीं है? मुझे लगता है कि मेरा उपयोग केस वास्तव में आम है जब तक कि मेरे घटकों की वास्तुकला बुरी तरह कल्पना नहीं की जाती। पीएस: अंतर्निहित समाधान यदि कोई मौजूद है तो पुराने @ @ कोणीय/राउटर-बहिष्कृत ' – BeetleJuice
की बजाय '@ कोणीय/राउटर' में हो सकता है, जब आप अलग-अलग मार्ग पर तत्काल घटक को चालू करने का प्रयास करते हैं तो यह हैकी महसूस करना शुरू कर देता है स्तरों। यदि आपको शीर्ष-स्तरीय मार्ग के पैरामीटर की आवश्यकता है, तो आपको मूल रूप से अपनी सेवा को तुरंत चालू करने और अपने अन्य घटकों को एक स्तर पर धक्का देने के लिए समर्पित एक घटक की आवश्यकता होती है। यही कारण है कि मुझे लगता है कि यह एक डिजाइन गलती है कि शीर्ष स्तर के घटकों के पास रूटपेराम तक पहुंच नहीं है। उस ने कहा, हालांकि, घटकों के बीच डेटा साझा करने के लिए सेवाओं का उपयोग कोणीय अनुप्रयोगों के लिए एक आम डिजाइन पैटर्न है। – awiseman
मुझे गंदा लगता है, लेकिन यह काम करता है। – BeetleJuice