मेरे पास /contacts
पर पंजीकृत एक घटक है, जो संपर्कों की एक सूची प्रदर्शित करता है। मैंने प्रदर्शित सूची को फ़िल्टर करने के लिए <input [value]="searchString">
जोड़ा है।कोणीय 2 नया राउटर: बदलें/सेट क्वेरी पैराम्स
अब मैं क्वेरी परम के रूप में URL में searchString
प्रदर्शित करना चाहते हैं। (नया रूटर 3.0.0 RC2 का उपयोग करना)
सरकारी डॉक्स (https://angular.io/docs/ts/latest/guide/router.html#!#query-parameters) queryParams
को बदलने के लिए router.navigate
उपयोग करने के लिए कैसे दिखा। लेकिन इस अजीब लगता है, क्योंकि मैं सिर्फ जानना चाहता है जो मार्ग मैं वर्तमान में कर रहा हूँ बिना queryParams
बदलना चाहते हैं: router.navigate(['/contacts'], {queryParams:{foo:42}})
(मुझे पता है कि यह घटक लोड नहीं होता है, तो मैं सिर्फ queryParams
बदल रहा हूँ, लेकिन अभी भी इस
कुछ प्रयास रहा है कि router.navigate([], {queryParams:{foo:42}})
काम करता है पता चल जाने के बाद लिखने के लिए सही) महसूस नहीं करता है। यह बेहतर तरीका लगता है।
लेकिन मुझे अभी भी यकीन नहीं है कि यह सही तरीका है या नहीं। या अगर मैं इसके लिए कुछ विधि याद किया।
आप अपना queryParams
कैसे बदलते हैं?
तो अपने राउटर फ़ाइल में '/ संपर्क /: खोज-क्वेरी' जैसे रूट पैराम में खोज क्वेरी डालने के बारे में और परिवर्तनों के लिए इसे अपने घटक में देखें? – mrgoos
क्या इससे कोई फर्क पड़ता है? मैं 'क्वेरी पैराम्स' का भी निरीक्षण कर सकता हूं, यह समस्या नहीं है। '... 'मेरे वर्तमान घटक में लगभग 20 खोज पैरामीटर हैं, उनमें से अधिकतर वैकल्पिक हैं और उनमें से कुछ एक दूसरे को बाहर करते हैं। जब उपयोगकर्ता किसी भी पैरामीटर को बदलता है, तो प्रदर्शित सूची फ़िल्टर हो जाएगी, और इसके अतिरिक्त मैं यूआरएल के भीतर इन पैरामीटर परिवर्तनों को प्रतिबिंबित करना चाहता हूं। '... 'सवाल सिर्फ * *' क्वेरी पैराम्स 'सेट करने का सही तरीका क्या है?" * या * "राउटर.नाविगेट ([], ...)' एकमात्र/सही तरीका है?" * –
उत्तर के लिए धन्यवाद, यह मेरी मदद की। मैं router.navigate ([], {queryParams: {...}}) का उपयोग भी करता हूं। – skovmand