在Vue中使用URL来存储状态

通常,开发人员(包括我自己:D)使用ref(),reactive()甚至computed()存储可以通过 URL 查询或参数轻松处理的状态。

在Vue中使用URL来存储状态

在本文中,我想向您展示如何在 Vue 应用程序中利用这个强大的浏览器本机功能 🚀

代码

要在 Vue 应用程序中使用查询参数,最简单的方法是使用 Vue Router 的push方法:

<script setup>
import { useRouter } from 'vue-router';

const { push } = useRouter();
</script>

在发生某些事件(例如单击按钮)后,可以在应用程序中使用此路由器方法,将状态保存到 URL 查询参数:

const saveUserNameToQuery = (name: string) => {
  push({
    query: {
      username: name,
    },
  });
}

要仅更改某些查询参数,同时将其余查询参数保持在相同状态,请使用以下命令:

const { currentRoute, push } = useRouter();

const updateQueryState = (parameter: string, value: string) => {
  push({
    query: {
      ...currentRoute.value.query,
     [parameter]: value,
    },
  });
}

要在某些条件后重置查询参数,您可以使用以下方法:

const resetQuery = () => {
  push({
    query: {},
  });
}

您可以使用 Vue Router 做更多的事情,但我想展示这一点,因为我最近使用它来开发一项新功能和一个全新的项目。

https://router.vuejs.org/

概括

就是这样!您已成功学习如何使用 Vue Router 轻松修改 URL 状态并更新查询参数。这是一个非常有用的功能,我每天都在使用,强烈建议您尝试:)


文章来源地址https://www.toymoban.com/diary/vue/338.html

到此这篇关于在Vue中使用URL来存储状态的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/diary/vue/338.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
作为开发人员改善网站 SEO 的 10 个技巧
上一篇 2023年10月03日 02:23
Vue 可组合项的良好实践和设计模式
下一篇 2023年10月03日 02:41

相关文章

  • springboot web & 增加不存在的url返回200状态码& vue 打包设置

    spring boot项目增加 html web页面访问 1. 首先 application.properties 文件中增加配置,指定静态资源目录(包括html的存放) 2. 项目目录 3. 如果有实现 WebMvcConfigurer  类的,增加实现 如果访问不到页面的,可以检查下application配置文件是否有以下配置 如果有的话,需要进行注释。这两

    2024年02月09日
    浏览(50)
  • vue使用文件流和url下载文件

    // 改为使用后台返回 url 下载文件 方法1:这个会导致在点击下载按钮的时候,页面会跳转到奇怪的url。 window.location.href = row.downloadUrl 方法2:点击下载按钮,不会在新窗口打开。 const downloadRes = async () = {         let response = await fetch(row.downloadUrl)         let blob = await respons

    2023年04月15日
    浏览(57)
  • vue.config.js使用代理配置真实请求url

    前端请求接口过程中会统一配置代理请求url,配置之后浏览器只能看到local host路径。 为方便查看请求的真实ip,需要在vue.config.js中做如下配置,便能在浏览器实时查看到真实地址 配置完重启,效果如下:

    2024年02月13日
    浏览(57)
  • vue中html引入使用<%= BASE_URL %>变量

    首先使用src相对路径引入 注意: js 文件放在public文件下 不要放在assets静态资源文件下 否则 可能会报错 GET http://192.168.0.113:8080/src/assets/js/websockets.js net::ERR_ABORTED 500 (Internal Server Error) 正确使用如下:eg %=%是ejs模板语法 ejs模板语法是为了能够在html文件中使用js变量 Vue CLI 3.3 之

    2024年02月11日
    浏览(49)
  • 关于process.env.VUE_APP_BASE_URL的使用

    process.env.VUE_APP_BASE_URL 是一个 Vue.js 中使用的环境变量,通常用来存储一个应用的接口请求地址,例如 API 服务器的地址等。           在 Vue CLI 3 以上的版本中,当你在项目根目录下创建一个名为 .env. [mode] 的文件;其中 [mode] 是你的模式名称,例如 .env.development ,并在其

    2024年02月16日
    浏览(57)
  • 【Vue】使用 Vuex 作为状态管理

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式和库。它使用单一状态树,这意味着这个对象包含了全部的应用层级状态,并且以一种相对集中的方式存在。这也意味着,通常单个项目中只有一个 Vuex store。Vuex 的核心概念和功能包括: 状态(State) :Vuex 使用单一状态树

    2024年01月23日
    浏览(59)
  • Vue使用 Pinia 进行状态管理

    Pinia 是一个适用于 Vue.js 的状态管理库,它采用了组合式 API 的理念,使得状态管理变得更加简单、直观和灵活。与传统的 Vuex 相比,Pinia 提供了更好的 TypeScript 支持,同时也更加适合大型应用程序和复杂状态逻辑的管理。 首先,我们需要在 Vue 项目中安装 Pinia。你可以通过

    2024年02月13日
    浏览(67)
  • vue 全局状态管理(简单的store模式、使用Pinia)

    多个组件可能会依赖同一个状态时,我们有必要抽取出组件内的共同状态集中统一管理,存放在一个全局单例中,这样任何位置上的组件都可以访问其中的状态或触发动作 通过自定义一个store模式实现全局的状态管理,实例如下 有两个组件a、b共享store和store2两个状态,我们

    2024年02月13日
    浏览(51)
  • Vue中qrcode的使用方法(生成二维码插件) / 前端页面根据URL链接生成二维码

    1.下载 npm install qrcode --save-dev 2.引入(在所需要的页面中引入) import QRCode from “qrcode”; //引入生成二维码插件 3.生成二维码 作者:微微一笑绝绝子 出处:Vue中qrcode的使用方法(生成二维码插件) / 前端页面根据URL链接生成二维码 - 微微一笑绝绝子 - 博客园 本博客文章均为作者

    2024年02月15日
    浏览(64)
  • 前端本地存储方案-localForage-vue3中使用

    前端有多种本地存储方案可供选择,常见的有: Cookie:小型的文本文件,存储少量数据 Web Storage :包括:localStorage和sessionStorage,存储数据有上限(5M)左右 IndexedDB:一种高级的客户端存储API,存储量大、高版本浏览器兼容性较好 这些本地存储方案各有优缺点,近期发现一

    2024年02月02日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包