vue中路由傳參
阿新 • • 發佈:2018-11-14
路由: vue路由傳參方式有: query、params+動態路由傳參 1. query通過path切換路由, params通過name切換路由 // query通過path切換路由 <router-link :to="{path: 'Detail', query: { id: 1 }}">跳轉頁面</router-link> // params通過name切換路由 <router-link :to="{name: 'Detail', params: { id: 1 }}">跳轉頁面</router-link> 2.接收引數 // query通過this.$route.query接收引數 created () { const id = this.$route.query.id; } // params通過this.$route.params來接收引數 created () { const id = this.$route.params.id; } 3. query傳參的url展現方式:/detail?id=1&user=zhang params+動態路由的url方式:/detail/123 4.params動態路由傳參,一定要在路由中定義引數,然後在路由跳轉的時候必須要加上引數,否則就是空白頁面: { path: '/detail/:id', name: 'Detail', component: Detail }, // 定義的路由中,只定義一個id引數 { path: 'detail/:id', name: 'Detail', components: Detail } 注意,params傳參時,如果沒有在路由中定義引數,也是可以傳過去的,同時也能接收到,但是一旦重新整理頁面,這個引數就不存在了。這對於需要依賴引數進行某些操作的行為是行不通的,因為你總不可能要求使用者不能重新整理頁面吧. 5. template中的路由傳參, // 傳了一個id引數和一個token引數 // id是在路由中已經定義的引數,而token沒有定義 <router-link :to="{name: 'Detail', params: { id: 1, token: '123456' }}">前往Detail頁面</router-link> // 在詳情頁接收 created () { // 以下都可以正常獲取到 // 但是頁面重新整理後,id依然可以獲取,而token此時就不存在了 const id = this.$route.params.id; const token = this.$route.params.token; }