vue中this.$router.push()傳參簡單說明

在項目開發過程當中,我發現不少新加入項目組的前端開發,去寫this.$router.push()傳參時,都存在一個共性問題,代碼以下: 

this.$router.push({
    path: 'register',
    name:'register', 
    params: { plan: 'private' }
}) 複製代碼
這麼寫顯然是不對的,對於this.$router.push()傳參,我在項目通常使用如下兩種方式:

一、使用params傳參,例:前端

this.$router.push({ name: 'user', params: { userId: 123 }})複製代碼

注意⚠️:patams傳參 ,路徑不能使用path 只能使用name,借用vue官方文檔的一句話,this will not work。vue

獲取參數,例:bash

this.$route.params.userId複製代碼

二、使用query傳參,例:this

this.$router.push({ path: '/user', query: { userId: 123}})
複製代碼

注意⚠️:若是寫成:spa

this.$router.push({ path: '/user', params: { userId: 123 }}) 複製代碼

這樣依然借用vue官方文檔的一句話:this will not work。code

獲取參數,例:router

this.$route.query.userId複製代碼
相關文章
相關標籤/搜索