最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue Router4中params傳參失效和報錯問題的解決方法

 更新時間:2024年03月01日 11:05:21   作者:十一*  
在使用vue-router4中params 進行路由組件之間傳參,跳轉(zhuǎn)頁面接收不了并報錯,本文給大家介紹了Vue Router4中params傳參失效和報錯問題的解決方法,需要的朋友可以參考下

問題描述

在使用vue-router4中params 進行路由組件之間傳參,跳轉(zhuǎn)頁面接收不了并出現(xiàn)如下錯誤

![在這里插入圖片描述](https://img-blog.csdnimg.cn/8d64306439ac47b49edf4c0315d213f2.png

如下是我的代碼

傳輸頁面

  router.push({
    name: "postBlog",
    params: {
      dialogVisible: true,
      data: data,
    },
  });

接收頁面

import { useRouter } from "vue-router";
const route = useRouter();

const dialogVisible = ref(false)
console.log(route.params)

原因分析:

點開鏈接后發(fā)現(xiàn)了原因, 點擊查看更新日志

在這里插入圖片描述

在這里插入圖片描述

也就是說,從Vue Router的2022-8-22 這次更新后,我們使用上面的方式在新頁面無法獲取

解決方案:

vue也給我們提出了代替方案:

  • 使用 query 的方式傳參
  • 將參數(shù)放在 pinia 或 vuex倉庫里
  • 使用動態(tài)路由匹配
  • 傳遞 state,在新頁面使用 History API 接收參數(shù)
  • 使用 meta 原信息方式傳遞 (此方式更適用于路由守衛(wèi))

使用動態(tài)路由匹配

如果傳遞參數(shù)較少的情況下,可以嘗試使用下面這種方式,只要修改一下path定義部分就可以了:

// params 傳遞的參數(shù): { id: '1', name: 'ly', phone: 13246566476, age: 23 }

{
      path: '/detail/:id/:name/:phone/:age',
      name: 'detail',
      component: () => import('@/views/detail/index.vue')
}

查看頁面效果,控制臺警告也消失了:

在這里插入圖片描述

注意,如果使用使用了這種動態(tài)路由匹配方式, path: ‘/detail/:id/:name/:phone/:age’ ,中這三個參數(shù)你都必須傳遞,否則會報錯:

在這里插入圖片描述

使用HistoryAPI方式傳遞和接收

在跳轉(zhuǎn)前的頁面使用 state 參數(shù):

<script setup>
import { useRouter } from 'vue-router'
    
const router = useRouter()

const params = { id: '1', name: 'ly', phone: 13246566476, age: 23 }
const toDetail = () => router.push({ name: 'detail', state: { params } })

</script>

<template>
  <el-button type="danger" @click="toDetail">查看情頁</el-button>
</template>

跳轉(zhuǎn)的后頁面接收:

<template>
  <div>{{ historyParams }}</div>
</template>

<script setup lang="ts">

const historyParams = history.state.params
console.log('history.state', history.state)
</script>

在這里插入圖片描述

以上就是Vue Router4中params傳參失效和報錯問題的解決方法的詳細內(nèi)容,更多關(guān)于Vue params傳參失效和報錯的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • VUE2.0中Jsonp的使用方法

    VUE2.0中Jsonp的使用方法

    使用JSONP主要是目的通過動態(tài)創(chuàng)建Script,動態(tài)拼接url,進而抓取數(shù)據(jù),實現(xiàn)跨域。這篇文章主要介紹了VUE2.0中Jsonp的使用方法(前端),需要的朋友可以參考下
    2018-05-05
  • vue-devtools的安裝和使用步驟詳解

    vue-devtools的安裝和使用步驟詳解

    在本篇文章中小編給大家整理的是一篇關(guān)于vue-devtools安裝使用的相關(guān)知識點內(nèi)容,有需要的朋友們可以學習下。
    2019-10-10
  • 淺談vue實現(xiàn)雙向事件綁定v-model的原理

    淺談vue實現(xiàn)雙向事件綁定v-model的原理

    vue使用v-model實現(xiàn)數(shù)據(jù)的雙向綁定,它會根據(jù)控件類型自動選取正確的方法來更新元素,本文就詳細的介紹一下原理,感興趣的可以了解一下
    2021-08-08
  • ElementUI表格中添加表頭圖標懸浮提示

    ElementUI表格中添加表頭圖標懸浮提示

    本文主要介紹了ElementUI表格中添加表頭圖標懸浮提示,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 淺析Vue.js中$emit和$on的用法和區(qū)別

    淺析Vue.js中$emit和$on的用法和區(qū)別

    在?Vue.js?中,$emit和$on方法是兩個常用的方法,用于實現(xiàn)組件間的通信,雖然它們的名字很相似,但它們的作用和用法有所不同,本文將介紹$emit和$on方法的區(qū)別,并通過代碼示例來說明它們的用法,感興趣的朋友可以參考下
    2023-07-07
  • 深入了解vue2與vue3的生命周期對比

    深入了解vue2與vue3的生命周期對比

    這篇文章主要為大家介紹了vue2與vue3的生命周期對比,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • vue3實現(xiàn)監(jiān)聽store中state狀態(tài)變化的簡單方法

    vue3實現(xiàn)監(jiān)聽store中state狀態(tài)變化的簡單方法

    這篇文章主要給大家介紹了關(guān)于vue3實現(xiàn)監(jiān)聽store中state狀態(tài)變化的簡單方法,store是一個狀態(tài)管理工具,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • 詳解vue-cli中的ESlint配置文件eslintrc.js

    詳解vue-cli中的ESlint配置文件eslintrc.js

    本篇文章主要介紹了vue-cli中的ESlint配置文件eslintrc.js詳解 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue項目依賴包安裝及配置過程

    Vue項目依賴包安裝及配置過程

    這篇文章主要介紹了Vue項目依賴包安裝及配置過程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • vue中根據(jù)時間戳判斷對應的時間(今天 昨天 前天)

    vue中根據(jù)時間戳判斷對應的時間(今天 昨天 前天)

    這篇文章主要介紹了vue中 根據(jù)時間戳 判斷對應的時間(今天 昨天 前天),需要的朋友可以參考下
    2019-12-12

最新評論

射洪县| 淮安市| 大关县| 京山县| 淮北市| 铁岭市| 武汉市| 红原县| 旬邑县| 瓮安县| 莒南县| 余姚市| 涞水县| 仁寿县| 湛江市| 吐鲁番市| 巴里| 卢龙县| 金溪县| 锦州市| 临高县| 临西县| 宜都市| 和硕县| 吐鲁番市| 青田县| 永安市| 道真| 漳州市| 罗城| 华蓥市| 江华| 山阴县| 武义县| 宝应县| 凯里市| 高邑县| 精河县| 广河县| 竹溪县| 瓦房店市|