技术文摘
Vue3 中如何使用 Cookie
Vue3 中如何使用 Cookie
在 Vue3 项目开发过程中,我们常常需要与 Cookie 进行交互,以此来存储用户信息、用户偏好设置等数据。那么,在 Vue3 里究竟该如何使用 Cookie 呢?
Vue3 本身并没有内置处理 Cookie 的方法,所以我们可以借助第三方库 js-cookie 来简化操作。使用前,需先安装它。在项目根目录下打开命令行工具,执行 npm install js-cookie 或 yarn add js-cookie 命令进行安装。
安装完成后,在需要使用 Cookie 的组件中引入 js-cookie。例如,在一个 Vue 组件里:
<script setup>
import Cookies from 'js-cookie'
// 设置 Cookie
const setMyCookie = () => {
Cookies.set('username', 'JohnDoe', { expires: 1 })
}
// 获取 Cookie
const getMyCookie = () => {
const username = Cookies.get('username')
console.log(username)
}
// 删除 Cookie
const removeMyCookie = () => {
Cookies.remove('username')
}
</script>
<template>
<div>
<button @click="setMyCookie">设置 Cookie</button>
<button @click="getMyCookie">获取 Cookie</button>
<button @click="removeMyCookie">删除 Cookie</button>
</div>
</template>
在上述代码中,Cookies.set 方法用于设置一个名为 username 的 Cookie,值为 JohnDoe,并设置该 Cookie 在 1 天后过期。Cookies.get 方法用于获取指定名称的 Cookie 的值,并将其打印到控制台。Cookies.remove 方法则是删除指定名称的 Cookie。
除了这种在组件内直接使用的方式,我们还可以将这些操作封装成一个独立的函数库。比如,在项目中创建一个 cookieUtils.js 文件:
import Cookies from 'js-cookie'
export const setCookie = (name, value, options) => {
Cookies.set(name, value, options)
}
export const getCookie = (name) => {
return Cookies.get(name)
}
export const removeCookie = (name) => {
Cookies.remove(name)
}
然后在组件中引入并使用这些封装好的函数:
<script setup>
import { setCookie, getCookie, removeCookie } from './cookieUtils.js'
const setNewCookie = () => {
setCookie('userRole', 'admin', { expires: 7 })
}
const getUserRole = () => {
const role = getCookie('userRole')
console.log(role)
}
const clearUserRole = () => {
removeCookie('userRole')
}
</script>
<template>
<div>
<button @click="setNewCookie">设置新 Cookie</button>
<button @click="getUserRole">获取用户角色</button>
<button @click="clearUserRole">清除用户角色</button>
</div>
</template>
通过这种方式,我们的代码结构更加清晰,也方便在多个组件中复用 Cookie 操作逻辑。掌握 Vue3 中 Cookie 的使用方法,能让我们更好地管理用户相关数据,提升用户体验。
TAGS: 前端开发 Vue3技术 Vue3_Cookie使用 Cookie技术
- HighlightJS 为 HTML 代码添加行号的方法
- 垂直排列的多个 Span 标签怎样自动添加间距
- 正式环境中图片无法显示的解决方法
- 小程序里表格数据怎样在下一行显示
- 文本超出两行怎样显示展开按钮
- uniapp/vue里父元素设置pointer-events: none时子元素点击事件怎样生效
- 前端页面参数获取及后台搜索方法
- Vue.js中利用组件和选项卡组件动态显示多个同一组件实例的方法
- 从嵌套的iframe中获取元素的方法
- 弹框中获取FOREACH循环ID值并在链接中传递参数的方法
- jQuery Ajax实现系统登录时同步执行的方法
- 小程序表格数据换行显示方法
- 为何filter()方法只返回一个a而非两个
- img标签图片为何在开发环境可展示,正式环境却无法显示
- 前台 JS 二维数组如何传递到后台 C#