2017-07-28 20 views
5

मैं यूआरएल से क्वेरीपाराम पर अपने आवेदन के आधार पर निरंतर प्रदान करना चाहता हूं।कारखाने प्रदाता (एंगुलर 4) में QueryParam कैसे प्राप्त करें

localhost:4200?flag=true 

मेरी मॉड्यूल प्रदाताओं में मैं

{ provide: FLAG, useFactory: FlagFactory, deps: [...] } 

तो मैं दिलचस्पी अगर वहाँ एक तरह से मैन्युअल

function FlagFactory() { 
    return location.search.includes('flag'); 
} 
+0

वर्तमान व्यवहार क्या है की अनुमति देता है हो सकता था? –

+0

यह काम करता है क्योंकि मैं 'window.location.search' का उपयोग करता हूं, लेकिन मैं यह जानना चाहता हूं कि – mgrinko

+0

ऐसा करने के लिए कोई 'कोणीय' तरीका है या नहीं, कोई कोणीय तरीका नहीं है। –

उत्तर

1

यूआरएल को पार्स कोणीय रूटर का उपयोग कर के बारे में क्या बिना यह करने के लिए जोड़ा?

रूटर पटरियों क्वेरी पैरामीटर, तो वे आप पर उपलब्ध होना चाहिए प्रारंभिक मार्ग '/'

अपने रूट घटक एक मार्ग है कि इस

constructor(private route: ActivatedRoute) {} 

    ngOnInit() { 
    this.sub = this.route.params.subscribe(params => { 
     this.flag = params['flag']; 

    }); 
    } 
+0

क्योंकि आपका कोड केवल एक घटक के अंदर काम करेगा। लेकिन किसी भी घटक को खोलने से पहले मुझे यह जांचने की ज़रूरत है कि उपयोगकर्ता इसे खोल सकता है या नहीं। – mgrinko

+0

तो मैं गार्ड से एपीआई को अनुरोध भेज रहा हूं। और इन अनुरोधों को अतिरिक्त शीर्षलेख भेजने की आवश्यकता है। Thats क्यों मैं Http और BaseRequestOptions बढ़ाया और प्रत्येक अनुरोध के लिए आवश्यक शीर्षलेख जोड़ा। मैं वहां झंडा इंजेक्शन कर रहा हूं। – mgrinko

+0

इसे अपने मूल घटक (आमतौर पर app.component) में करें जो आप उपयोगकर्ताओं आदि के बारे में कोई निर्णय लेने से पहले लोड करना चाहते हैं –

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