vue 路由跳轉傳引數
阿新 • • 發佈:2018-12-11
router-link
<router-link :to="{ path: 'yourPath', params: { name: 'name', dataObj: data }, query: { name: 'name', dataObj: data } }"> </router-link> 1. path -> 是要跳轉的路由路徑,也可以是路由檔案裡面配置的 name 值,兩者都可以進行路由導航 2. params -> 是要傳送的引數,引數可以直接key:value形式傳遞 3. query -> 是通過 url 來傳遞引數的同樣是key:value形式傳遞
$router方式跳轉
// 元件 a <template> <button @click="sendParams">傳遞</button> </template> <script> export default { name: '', data () { return { msg: 'test message' } }, methods: { sendParams () { this.$router.push({ path: 'yourPath', name: '要跳轉的路徑的 name,在 router 資料夾下的 index.js 檔案內找', params: { name: 'name', dataObj: this.msg } /*query: { name: 'name', dataObj: this.msg }*/ }) } }, computed: { }, mounted () { } } </script> <style scoped></style> ---------------------------------------- // 元件b <template> <h3>msg</h3> </template> <script> export default { name: '', data () { return { msg: '' } }, methods: { getParams () { // 取到路由帶過來的引數 let routerParams = this.$route.params.dataobj // 將資料放在當前元件的資料內 this.msg = routerParams } }, watch: { // 監測路由變化,只要變化了就呼叫獲取路由引數方法將資料儲存本元件即可 '$route': 'getParams' } } </script> <style scoped></style>