当前位置:首页 > VUE

vue badge 实现方法

2026-01-18 08:36:02VUE

使用组件库实现 Badge

Vue 生态中主流组件库(如 Element UI、Ant Design Vue、Vuetify 等)均提供现成的 Badge 组件。

以 Element UI 为例:

<el-badge :value="12" class="item">
  <el-button>评论</el-button>
</el-badge>

Ant Design Vue 示例:

<a-badge count=5>
  <a-avatar shape="square"/>
</a-badge>

自定义 Badge 组件

通过 CSS 绝对定位实现基础样式:

<template>
  <div class="badge-container">
    <slot></slot>
    <span class="badge" v-if="count">{{ count }}</span>
  </div>
</template>

<script>
export default {
  props: ['count']
}
</script>

<style>
.badge-container {
  position: relative;
  display: inline-block;
}

.badge {
  position: absolute;
  top: -8px;
  right: -8px;
  background: red;
  color: white;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  font-size: 12px;
  text-align: center;
  line-height: 16px;
}
</style>

动态 Badge 样式

根据数值变化调整样式:

computed: {
  badgeClass() {
    return {
      'badge': true,
      'badge-danger': this.count > 10,
      'badge-warning': this.count <= 10
    }
  }
}

动画效果实现

使用 Vue 过渡动画:

<transition name="bounce">
  <span class="badge" v-if="show">{{ count }}</span>
</transition>

<style>
.bounce-enter-active {
  animation: bounce-in 0.5s;
}
@keyframes bounce-in {
  0% { transform: scale(0) }
  50% { transform: scale(1.5) }
  100% { transform: scale(1) }
}
</style>

服务端数据绑定

结合 Vuex 或 API 数据:

vue badge 实现方法

data() {
  return {
    notificationCount: 0
  }
},
mounted() {
  fetch('/api/notifications/count')
    .then(res => res.json())
    .then(data => {
      this.notificationCount = data.count
    })
}

标签: 方法vue
分享给朋友:

相关文章

vue登录逻辑的实现

vue登录逻辑的实现

Vue 登录逻辑实现 前端实现 创建登录组件 在 Vue 项目中创建一个登录组件,通常命名为 Login.vue。该组件包含表单元素,如用户名和密码输入框,以及提交按钮。 <template&…

vue 实现pc

vue 实现pc

Vue 实现 PC 端应用的核心要点 Vue.js 是一个渐进式框架,适合构建 PC 端单页应用(SPA)或复杂的前端界面。以下是实现 PC 端应用的关键方法和注意事项: 项目初始化与工程化配置 使…

vue实现https

vue实现https

Vue 中实现 HTTPS 的步骤 在 Vue 项目中实现 HTTPS 主要涉及开发环境配置和生产环境部署。以下是具体方法: 开发环境配置(Vue CLI 或 Vite) 使用 mkcert 生成…

vue列表实现

vue列表实现

Vue 列表实现方法 使用 v-for 指令 v-for 是 Vue 中用于渲染列表的核心指令,基于数据源动态生成 DOM 元素。语法格式为 item in items 或 (item, index)…

vue实现机制

vue实现机制

Vue 实现机制的核心原理 Vue.js 的核心实现机制主要基于响应式系统、虚拟 DOM 和组件化设计。以下是关键实现细节: 响应式系统 Vue 通过 Object.defineProperty(V…

vue实现Siri

vue实现Siri

Vue 实现 Siri 风格语音交互 实现类似 Siri 的语音交互功能需要结合语音识别、语音合成和前端交互逻辑。Vue 作为前端框架,可以很好地管理这些功能的交互状态。 语音识别集成 使用 Web…