如何通過(guò)URL來(lái)實(shí)現(xiàn)在Vue中存儲(chǔ)業(yè)務(wù)狀態(tài)實(shí)用技巧
如何通過(guò)URL來(lái)實(shí)現(xiàn)在Vue中存儲(chǔ)狀態(tài)
通常情況下,我們會(huì)通過(guò) Vue 提供的 ref() , reactive() 甚至是 computed 來(lái)存儲(chǔ)狀態(tài)。
但,其實(shí)還有另一種不太容易的方法來(lái)存儲(chǔ)狀態(tài),那就是通過(guò) URL 的 查詢參數(shù).
那么本文就通過(guò)一些 示例代碼,來(lái)講清楚如何通過(guò) URL 來(lái)實(shí)現(xiàn)在Vue中存儲(chǔ)狀態(tài)。
Code
Vue Router 的 Push
要在 Vue 應(yīng)用程序中使用查詢參數(shù),最簡(jiǎn)單的方法是使用 Vue Router 的 Push 方法:
import { useRouter } from 'vue-router'; const { push } = useRouter();
在某些交互后(例如: 點(diǎn)擊按鈕), 可以在應(yīng)用程序中使用此路由器方法,將狀態(tài)保存到 URL 查詢參數(shù):
const saveUserNameToQuery = (name: string) => { push({ query: { username: name, }, }); }
當(dāng)URL 中有很多參數(shù),僅改變其中某個(gè)參數(shù)時(shí), 你可以 這樣做:
const { currentRoute, push } = useRouter(); const updateQueryState = (parameter: string, value: string) => { push({ query: { ...currentRoute.value.query, [parameter]: value, }, }); }
當(dāng)我們做了很多操作要重置時(shí), 可以通過(guò)如下代碼實(shí)現(xiàn):
const resetQuery = () => { push({ query: {}, }); }
當(dāng)然,我們可以通過(guò)Vue Router 來(lái)做更多的事情。 但我今天展示的這些,就是我最近做項(xiàng)目遇到的一些小技巧。
總結(jié)
您已成功學(xué)習(xí)如何使用 Vue Router 輕松修改 URL 狀態(tài)并更新查詢參數(shù)。這是一個(gè)非常有用的功能,我每天都在使用,強(qiáng)烈建議您嘗試:)
以上就是Vue Tips 如何用 URL 存儲(chǔ)業(yè)務(wù)狀態(tài)的詳細(xì)內(nèi)容,更多關(guān)于Vue URL存儲(chǔ)業(yè)務(wù)狀態(tài)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue+axios實(shí)現(xiàn)post文件下載
這篇文章主要為大家詳細(xì)介紹了vue+axios實(shí)現(xiàn)post文件下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09Vue輸入框?qū)崟r(shí)驗(yàn)證IP地址合法性并在下方進(jìn)行提示功能實(shí)現(xiàn)
在Vue組件中的IP地址輸入框定義一個(gè)checkIpAddress方法,該方法使用正則表達(dá)式對(duì)傳入的IP地址進(jìn)行驗(yàn)證,這篇文章主要介紹了Vue輸入框?qū)崟r(shí)驗(yàn)證IP地址合法性并在下方進(jìn)行提示,需要的朋友可以參考下2024-06-06vue 項(xiàng)目打包通過(guò)命令修改 vue-router 模式 修改 API 接口前綴
這篇文章主要介紹了vue 項(xiàng)目打包通過(guò)命令修改 vue-router 模式 修改 API 接口前綴的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-06-06element el-input directive數(shù)字進(jìn)行控制
本文介紹了vue使用directive 進(jìn)行控制的方法,使用element開發(fā)的過(guò)程中遇到循環(huán)的數(shù)據(jù)只能輸入數(shù)字,并且有不要小數(shù)點(diǎn),有需要小數(shù)點(diǎn)的,就有一定的參考價(jià)值,有興趣的可以了解一下2018-10-10vue中使用refs定位dom出現(xiàn)undefined的解決方法
本篇文章主要介紹了vue中使用refs定位dom出現(xiàn)undefined的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12如何使用Webstorm和Chrome來(lái)調(diào)試Vue項(xiàng)目
這篇文章主要介紹了如何使用Webstorm和Chrome來(lái)調(diào)試Vue項(xiàng)目,對(duì)Vue感興趣的同學(xué),一定要看一下2021-05-05vue利用axios來(lái)完成數(shù)據(jù)的交互
這篇文章主要介紹了vue利用axios來(lái)完成數(shù)據(jù)的交互,本文通過(guò)實(shí)例代碼給大家講解數(shù)據(jù)交互方法及安裝方法,需要的朋友可以參考下2018-03-03webpack4打包vue前端多頁(yè)面項(xiàng)目
這篇文章主要介紹了webpack4打包vue前端多頁(yè)面項(xiàng)目的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09