मैं एक खोज अनुप्रयोग के लिए यूआरएल में क्वेरी पैराम अपडेट करने के लिए एक कोणीय 2 राउटर का उपयोग कर रहा हूं। मैं + संकेतों के साथ एक क्वेरी में रिक्त स्थान को प्रतिस्थापित करने का प्रयास कर रहा हूं। हालांकि, + अंक एन्कोड हो रहे हैं। उदाहरण के लिए:कोणीय 2 राउटर (एक स्पेस के स्थान पर एक + चिह्न का उपयोग करके) यूआरएल के लिए कस्टम एन्कोडिंग
this.router.navigatebyUrl('?q=one+two');
"? Q = one% 2btwo" के साथ यूआरएल पॉप्युलेट करता है।
कोणीय 2 के लिए स्रोत कोड को देखने में, ऐसा लगता है कि राउटर यूआरएल को यूआरएलटी which uses encodeURIComponent() to encode the url में परिवर्तित करता है। इस वजह से, डिफ़ॉल्ट एन्कोडिंग को रोकना असंभव है।
मेरे वर्तमान प्रक्रिया है कि मैं navigateByUrl कर जैसा कि ऊपर देखा द्वारा मार्ग बदलने के लिए, और उसके बाद से हुए परिवर्तनों पर ध्यान है:
this.routeSubscription = this.route.queryParams.subscribe((params: any) => {
this.term = (params.q ? params.q : '');
});
वहाँ क्वेरी पैरामीटर है कि मुझे का उपयोग करने की अनुमति होगी से निपटने के लिए एक वैकल्पिक तरीका है यूआरएल एन्कोडिंग के लिए मेरी अपनी रणनीति?
[कोणीय 2 के संभावित डुप्लिकेट यूआरएल एन्कोडिंग अक्षम करें] (http: // stackover flow.com/questions/41476193/angular-2-disable-url-encoding) –