当前位置:首页 > VUE

vue实现uuid

2026-01-08 00:53:47VUE

使用 uuid 库生成 UUID

在 Vue 项目中,可以使用 uuid 库来生成 UUID。安装依赖:

npm install uuid

在 Vue 组件中使用:

import { v4 as uuidv4 } from 'uuid';

export default {
  data() {
    return {
      uniqueId: uuidv4()
    };
  }
};

使用 crypto.randomUUID()

现代浏览器支持 crypto.randomUUID() 方法生成 UUID,无需安装额外依赖:

vue实现uuid

export default {
  data() {
    return {
      uniqueId: crypto.randomUUID()
    };
  }
};

自定义 UUID 生成函数

如果不想依赖第三方库,可以使用以下函数生成 UUID:

function generateUUID() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    const r = Math.random() * 16 | 0;
    const v = c === 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}

export default {
  data() {
    return {
      uniqueId: generateUUID()
    };
  }
};

在 Vuex 或 Pinia 中使用 UUID

在状态管理库中生成 UUID:

vue实现uuid

// Pinia 示例
import { defineStore } from 'pinia';
import { v4 as uuidv4 } from 'uuid';

export const useStore = defineStore('main', {
  state: () => ({
    items: [{ id: uuidv4(), name: 'Item 1' }]
  })
});

作为组件 prop 传递 UUID

父组件生成 UUID 并传递给子组件:

<template>
  <ChildComponent :id="uniqueId" />
</template>

<script>
import { v4 as uuidv4 } from 'uuid';

export default {
  data() {
    return {
      uniqueId: uuidv4()
    };
  }
};
</script>

注意事项

浏览器兼容性需要考虑,特别是 crypto.randomUUID() 方法。对于旧版浏览器,建议使用 uuid 库或自定义实现。

UUID 版本选择很重要,v4 是随机生成的,v1 基于时间戳和 MAC 地址。大多数情况下 v4 足够使用。

在服务器端渲染 (SSR) 场景下,需要确保 UUID 生成在客户端和服务器端保持一致,或者只在客户端生成。

标签: vueuuid
分享给朋友:

相关文章

vue compile 实现

vue compile 实现

Vue 编译实现原理 Vue 的编译过程将模板字符串转换为渲染函数,主要分为解析、优化和代码生成三个阶段。 解析阶段(Parse) 将模板字符串转换为抽象语法树(AST)。Vue 使用正则表达式和有…

vue实现datalist

vue实现datalist

使用 Vue 实现 HTML5 的 datalist 功能 HTML5 的 <datalist> 元素提供了一种自动完成输入框的功能,允许用户在输入时从预定义的选项列表中选择。以下是几种在…

vue轮播实现

vue轮播实现

Vue 轮播实现方法 使用第三方库(推荐) 安装 swiper 或 vue-awesome-swiper 库,快速实现功能丰富的轮播效果。 以 vue-awesome-swiper 为例: npm…

vue实现login

vue实现login

Vue 实现登录功能 在 Vue 中实现登录功能通常需要以下几个步骤: 创建登录表单组件 在 Vue 项目中创建一个登录表单组件,包含用户名和密码输入框以及提交按钮。可以使用 Vue 的模板语法和双…

vue 实现协同

vue 实现协同

Vue 实现协同编辑的方案 协同编辑指多个用户同时编辑同一文档并实时同步更改。Vue 结合相关库和技术可轻松实现该功能。 使用 WebSocket 实现实时通信 WebSocket 提供全双工通信,…

vue实现tab

vue实现tab

Vue 实现 Tab 切换功能 在 Vue 中实现 Tab 切换功能可以通过多种方式完成,以下是几种常见的实现方法: 使用 v-if 和 v-show 指令 通过绑定 v-if 或 v-show 来…