vue中 js-cookie 用法

js-cookie是一个用于在浏览器中处理Cookie的轻量级JavaScript库 ,在Vue3项目中使用它,可以方便地进行Cookie的读取、写入和删除操作。下面介绍具体的使用步骤:

在Vue3项目的根目录下,通过npm或yarn安装js-cookie:

  • 使用npm
bash 复制代码
npm install js-cookie
  • 使用yarn
bash 复制代码
yarn add js-cookie

在需要使用js-cookie的Vue组件或文件中,引入js-cookie库:

javascript 复制代码
import Cookies from 'js-cookie';

3. 写入Cookie

使用Cookies.set()方法可以写入Cookie,该方法接受两个必填参数:Cookie的名称和值,还可以接受一个可选的配置对象来设置Cookie的属性,如过期时间、路径、域名等。

javascript 复制代码
// 基本用法,设置一个名为 'username',值为 'John' 的Cookie
Cookies.set('username', 'John'); 

// 设置一个带有过期时间的Cookie,例如设置过期时间为7天
Cookies.set('token', 'abc123', { expires: 7 }); 

// 设置带有路径的Cookie,只有在指定路径及其子路径下的页面才能访问该Cookie
Cookies.set('userInfo', { name: 'Alice', age: 30 }, { path: '/profile' }); 

4. 读取Cookie

使用Cookies.get()方法读取Cookie,该方法接受Cookie的名称作为参数,如果Cookie存在则返回其值,否则返回undefined。

javascript 复制代码
// 读取名为 'username' 的Cookie
const username = Cookies.get('username'); 
console.log(username); 

// 读取所有Cookie,返回一个包含所有Cookie键值对的对象
const allCookies = Cookies.get(); 
console.log(allCookies); 

5. 删除Cookie

使用Cookies.remove()方法删除Cookie,该方法接受Cookie的名称作为参数,同时如果设置Cookie时指定了路径、域名等属性,删除时也需要传入相同的属性配置,才能正确删除对应的Cookie。

javascript 复制代码
// 删除名为 'username' 的Cookie
Cookies.remove('username'); 

// 删除带有路径的Cookie,需要传入相同的路径配置
Cookies.remove('userInfo', { path: '/profile' }); 

6. 在Vue3组件中使用示例

html 复制代码
<template>
  <div>
    <button @click="setCookie">设置Cookie</button>
    <button @click="getCookie">获取Cookie</button>
    <button @click="removeCookie">删除Cookie</button>
    <p v-if="cookieValue">{{ cookieValue }}</p>
  </div>
</template>

<script setup>
import Cookies from 'js-cookie';
import { ref } from 'vue';

const cookieValue = ref('');

const setCookie = () => {
  Cookies.set('testCookie', 'Hello, js-cookie!', { expires: 1 });
};

const getCookie = () => {
  const value = Cookies.get('testCookie');
  cookieValue.value = value || 'Cookie不存在';
};

const removeCookie = () => {
  Cookies.remove('testCookie');
  cookieValue.value = 'Cookie已删除';
};
</script>

以上代码展示了在Vue3项目中如何使用js-cookie进行Cookie的常见操作。通过合理运用js-cookie,可以方便地管理应用中的Cookie数据,实现用户状态管理、个性化设置等功能。

相关推荐
Never_every991 小时前
位图转矢量工具哪个好?实测抠抠图AI位图转矢量工具
大数据·前端
paopaokaka_luck1 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
空中湖2 小时前
用 React 写数据大屏:为什么我不建议用图表库
前端·react.js·前端框架
欣欣之王来了3 小时前
原始HTML插值:v-html指令的使用与安全风险
前端·学习·架构·项目·vue3教程
IT_陈寒3 小时前
Redis的LRU淘汰策略坑了我一整天
前端·人工智能·后端
计算机魔术师3 小时前
砍半价格、参数再涨,国产旗舰追到 Opus 鼻尖了
前端
paopaokaka_luck3 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
特立独行的猫A4 小时前
10 MB 的桌面 AI 客户端:用仓颉 + 系统 WebView 替代 Electron
前端·harmonyos
修炼的dance5 小时前
白底图存JPG,sharp开mozjpeg背景杂点少近三成
前端
anOnion5 小时前
构建无障碍组件之Grid Pattern
前端·html·交互设计