91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue路由傳參方式的方式及獲取參數的方法

發布時間:2022-07-29 17:40:07 來源:億速云 閱讀:204 作者:iii 欄目:開發技術

這篇“vue路由傳參方式的方式及獲取參數的方法”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“vue路由傳參方式的方式及獲取參數的方法”文章吧。

    一、聲明式傳參

    1.params傳參(顯示參數)

    在url中會顯示出傳參的值,刷新頁面不會失去拿到的參數,使用該方式傳值的時候,需要子路由提前配置好參數:

    //路由參數配置
    const router = new VueRouter({
      routes: [{
        path: '/about/:id',
        component: User
      }]
    })
     
    //聲明式導航使用
    <router-link to="/about/12">跳轉</router-link>
    //路由參數配置
    const router = new VueRouter({
      routes: [{
        name: 'user1',
        path: '/about/:id',
        component: User
      }]
    })
     
    //聲明式導航使用
    <router-link :to="{ name: 'user1', params: { id: 123 } }">跳轉</router-link>

    2.params傳參(不顯示參數)

    在url中不會顯示出傳參的值,但刷新頁面會失去拿到的參數,使用該方式 傳值 的時候,需要子路由提前配置好name參數:

    //路由參數配置
    const router = new VueRouter({
      routes: [{
        name: 'user1',
        path: '/about',
        component: User
      }]
    })
     
    //聲明式導航使用
    <router-link :to="{ name: 'user1', params: { id: 123 } }">跳轉</router-link>

    3.query 傳參

    query 傳過去的參數會拼接在地址欄中(?name=xx),刷新頁面數據不會丟失,使用path和name都可以:

    //路由參數配置
    const router = new VueRouter({
      routes: [{
        name: 'user1',
        path: '/about',
        component: User
      }]
    })
     
    //使用name
    <router-link :to="{ name: 'user1', query: { id: 123 }}"></router-link>
    //使用path
    <router-link :to="{ path: '/about', query: { id: 123 } }"></router-link>

    二、編程式傳參

    1.params傳參(顯示參數)

    //路由配置
    {
      path: '/child/:id',
      component: Child
    }
    //編程式使用
    this.$router.push({
        path:'/child/${id}',
    })
    //路由配置
    {
      path: '/child:id',
      component: Child,
      name:Child
    }
    //編程式使用
    this.$router.push({
        name:'Child',
        params:{
        id:123
        }
    })

    2.params傳參(不顯示參數)

    //路由配置
    {
      path: '/child',
      component: Child,
      name:Child
    }
    //編程式使用
    this.$router.push({
        name:'Child',
        params:{
        id:123
        }
    })

    3.query 傳參

    //路由配置
    {
      path: '/child',
      component: Child,
      name:Child
    }
    //編程式使用
    //name方式
    this.$router.push({
        name:'Child',
        query:{
        id:1
    }
    })
    //path方式
    this.$router.push({
        path:'/child',
        query:{
        id:1
    }
    })

    三、獲取參數

    1、params的獲取方式

    this.$route.params.xxx

    2、query的獲取方式

    this.$route.query.xxx

    四、需要注意的點

    1、如果使用params傳參,且參數是以對象的形式,跳轉路徑只能使用name形式而不能用path.

    2、如果想要params參數想傳參也可以不傳參需要在占位符后面加?。

    //路由參數配置
    const router = new VueRouter({
      routes: [{
        path: '/search/:keyword?',
        name: 'search',
        component: () => import('@/pages/Search'),
        meta: { show: true }
      }]
    })
    //編程式傳參
     this.$router.push({
        name: "search",
        params: {},
        query: { keyword: this.keyword },
     });

    3、解決params傳值為空字符串路徑會出現問題:

     this.$router.push({
          name: "search",
          params: { keyword: "" || undefined },
          query: { keyword: this.keyword },
     });

    以上就是關于“vue路由傳參方式的方式及獲取參數的方法”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    vue
    AI

    庄河市| 高雄县| 宜春市| 塔城市| 普洱| 长治县| 阜城县| 鸡东县| 交城县| 科尔| 六盘水市| 通城县| 中宁县| 海南省| 嵊州市| 平凉市| 桐庐县| 古浪县| 分宜县| 康马县| 阳高县| 无棣县| 吴忠市| 德惠市| 应城市| 南丹县| 电白县| 韶关市| 会理县| 志丹县| 疏附县| 江门市| 五大连池市| 桂林市| 四平市| 达尔| 南召县| 颍上县| 阿勒泰市| 上高县| 岐山县|