vue頁面傳參


 vue頁面跳轉,傳參方式大約可以有下面3種情況。

  • 標簽跳轉及傳參(router-link)
  • js控制跳轉路由及傳參(this.$router.push)
  • 路由組件傳參

  下面看一下這3者。

  一、標簽跳轉及傳參

  :to后面可以跟字符串也可以跟對象。

<template>
  <div id="app">
    <div><router-link :to="/">首頁</router-link></div>
    <div><router-link :to="{path:'/news/detail',query:{id:1}}">詳情</router-link></div>
    <div><router-link :to="{name:'newsDetail',params:{id:1}}">詳情</router-link></div>
  </div>
</template>

  頁面接參方式如下

  使用path + 路徑,query + 參數。則用this.$route.query.id取值。

  使用name +路由名稱,params + 參數。則用this.$route.params.id取值。

  二、$router.push

  js控制跳轉路由傳參如下:

  

 

  三、路由組件傳參

  官網地址:https://router.vuejs.org/zh/guide/essentials/passing-props.html

  首先:路由部分

let routes = [
{
          path: '/news',
          name: 'news',
          props: true,
          meta: {},
          component: () => import('@/page/news.vue')
        },   
      {
          path: '/newsDetail/:id',
          name: 'newsDetail',
          props: true,
          meta: {},
          component: () => import('@/page/newsDetail.vue')
        }   
]    

  需要加參數的部分參考 newsDetail ,path后面跟占位符,props設置為波爾類型,true。

  跳轉頁面時使用this.$router.push傳參。

  下面是取值的方式

  

export default {
  name: 'HelloWorld',
  data () {
    return {
      msg: '123
    }
  },
  props:['id'],
  mounted(){
    console.log(this.$route.params.id, this.id)
  }
}

  取值時,方法1:可以直接使用this.$route.params.id取值。

      方法2:也可以先放到props中,就可以直接用this.id拿到了。

   

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM