यहाँ डॉक्स में उदाहरण दिया गया है:
// with query, resulting in /register?plan=private
router.push({ path: 'register', query: { plan: 'private' }})
Ref: https://router.vuejs.org/en/essentials/navigation.html
जैसा कि उन डॉक्स में बताया गया है, router.replace
जैसे काम करता हैrouter.push
तो, आपको लगता है कि आपके प्रश्न में यह नमूना कोड सही है। लेकिन मुझे लगता है कि आपको name
या तो path
पैरामीटर को भी शामिल करने की आवश्यकता हो सकती है , ताकि राउटर में नेविगेट करने के लिए कुछ मार्ग हो। name
या के बिना path
, यह बहुत सार्थक नहीं दिखता है।
यह मेरी वर्तमान समझ है:
query
राउटर के लिए वैकल्पिक है - दृश्य निर्माण के लिए घटक के लिए कुछ अतिरिक्त जानकारी
name
या path
अनिवार्य है - यह तय करता है कि आपके घटक को क्या दिखाना है <router-view>
।
हो सकता है कि यह आपके सैंपल कोड में गायब हो।
EDIT: टिप्पणियों के बाद अतिरिक्त विवरण
क्या आपने इस मामले में नामित मार्गों का उपयोग करने की कोशिश की है ? आपके पास डायनामिक रूट हैं, और अलग से परमर्स और क्वेरी प्रदान करना आसान है:
routes: [
{ name: 'user-view', path: '/user/:id', component: UserView },
// other routes
]
और फिर अपने तरीकों में:
this.$router.replace({ name: "user-view", params: {id:"123"}, query: {q1: "q1"} })
तकनीकी रूप से उपरोक्त और के बीच कोई अंतर नहीं है this.$router.replace({path: "/user/123", query:{q1: "q1"}})
, लेकिन रूट स्ट्रिंग की तुलना में नामित मार्गों पर डायनामिक पार्म्स की आपूर्ति करना आसान है। लेकिन दोनों ही मामलों में, क्वेरी परम को ध्यान में रखा जाना चाहिए। या तो मामले में, मुझे कुछ भी गलत नहीं मिल सकता है जिस तरह से क्वेरी परम को संभाला जाता है।
जब आप मार्ग के अंदर होते हैं, तो आप अपने डायनामिक पार्म्स को this.$route.params.id
अपनी क्वेरी के रूप में ले सकते हैं this.$route.query.q1
।