解讀Vue-Router?使用?prams?路由傳參失效
報錯信息: [Vue Router warn]: Discarded invalid param(s) “name”, “price”, “id” when navigating.
list.json
{ "data": [ { "name": "面", "price":300, "id": 1 }, { "name": "水", "price":400, "id": 2 }, { "name": "菜", "price":500, "id": 3 } ] }
login.vue
<template> <h1> 我是列表頁面 </h1> <table cellpadding="0" class="table" border="1"> <thead> <tr> <th>商品</th> <th>價格</th> <th>操作</th> </tr> </thead> <tbody> <tr :key="item.id" v-for="item in data"> <th>{{ item.name }}</th> <th>{{ item.price }}</th> <th> <button @click="toDetail(item)">詳情</button> </th> </tr> </tbody> </table> </template> <script setup lang="ts"> import { data } from './list.json' import { useRouter } from 'vue-router'; const router = useRouter() type Item = { name: string; price: number; id: number; } const toDetail = (item: Item) => { router.push({ // name 對應(yīng) router 的 name name: 'Reg', // 不會展示在URL上,存在于內(nèi)存里 params: item }) } </script> <style scoped> .table { width: 400px; } </style>
reg.vue
<template> <h1> 我是列表頁面 </h1> <button @click="router.back()">返回</button> <div style="font-size: 20px;"> 品牌:{{ route.params.name }} </div> <div style="font-size: 20px;"> 價格:{{ route.params.price }} </div> <div style="font-size: 20px;"> id: {{ route.params.id }} </div> </template> <script setup lang="ts"> import { useRoute } from 'vue-router'; import { useRouter } from 'vue-router'; const router = useRouter(); const route = useRoute(); </script> <style scoped> .reg { background-color: green; height: 400px; width: 400px; font-size: 20px; color: white; } </style>
App.vue
<template> <h1>hello world</h1> <hr> <router-view></router-view> </template> <script setup lang="ts"> import { useRouter } from 'vue-router'; const router = useRouter(); </script> <style scoped></style>
此時得到的 params 數(shù)據(jù)為空
然后查看更新日志:點擊查看更新日志
所以,這種使用 prams 路由傳參的方法失效。
到此這篇關(guān)于Vue-Router 使用 prams 路由傳參失效的文章就介紹到這了,更多相關(guān)Vue Router 使用 prams 路由傳參內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue中this.$router.go(-1)失效(路由改變了,界面未刷新)
- vue3使用vue-router嵌套多級路由的方法
- vue中路由router配置步驟詳解
- 在vue中路由使用this.$router.go(-1)返回兩次問題
- Vue?router?路由安裝及使用過程
- vue使用動態(tài)添加路由(router.addRoutes)加載權(quán)限側(cè)邊欄的方式
- vue3中使用router路由實現(xiàn)跳轉(zhuǎn)傳參的方法
- vue3使用vue-router及路由權(quán)限攔截方式
- Vue3使用vue-router如何實現(xiàn)路由跳轉(zhuǎn)與參數(shù)獲取
- Vue中vue-router路由使用示例詳解
相關(guān)文章
vue 項目集成 electron 和 electron 打包及環(huán)境配
文章介紹了如何使用Vue和Electron開發(fā)桌面端應(yīng)用,包括安裝Electron、配置package.json、創(chuàng)建main.js文件、運行和打包應(yīng)用等步驟,并分享了一些常見的打包錯誤及其解決方法,感興趣的朋友一起看看吧2025-01-01vue?watch中如何獲取this.$refs.xxx節(jié)點
這篇文章主要介紹了vue?watch中獲取this.$refs.xxx節(jié)點的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08Vue實現(xiàn)省市區(qū)級聯(lián)下拉選擇框
這篇文章主要為大家詳細(xì)介紹了Vue實現(xiàn)省市區(qū)級聯(lián)下拉選擇框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Vue.js每天必學(xué)之指令系統(tǒng)與自定義指令
Vue.js每天必學(xué)之指令系統(tǒng)與自定義指令,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09