当前位置:首页 > VUE

vue实现好友列表

2026-01-07 01:49:22VUE

实现好友列表的Vue组件

数据准备 在Vue组件的data中定义好友列表数据,通常是一个数组对象,每个对象包含好友的基本信息如ID、头像、昵称等。

data() {
  return {
    friends: [
      { id: 1, name: '张三', avatar: '/avatars/1.jpg', status: 'online' },
      { id: 2, name: '李四', avatar: '/avatars/2.jpg', status: 'offline' },
      { id: 3, name: '王五', avatar: '/avatars/3.jpg', status: 'online' }
    ]
  }
}

模板结构 使用v-for指令循环渲染好友列表,结合条件渲染显示不同状态的好友。

<template>
  <div class="friend-list">
    <div v-for="friend in friends" :key="friend.id" class="friend-item">
      <img :src="friend.avatar" class="avatar">
      <span class="name">{{ friend.name }}</span>
      <span class="status" :class="friend.status">{{ friend.status }}</span>
    </div>
  </div>
</template>

样式设计 为好友列表添加CSS样式,增强视觉效果。

.friend-list {
  width: 300px;
  border: 1px solid #eee;
  border-radius: 4px;
}

.friend-item {
  display: flex;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #eee;
}

.avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 10px;
}

.status {
  margin-left: auto;
  font-size: 12px;
  color: #999;
}

.status.online {
  color: #67C23A;
}

.status.offline {
  color: #909399;
}

交互功能 添加点击事件处理,实现好友选择功能。

methods: {
  selectFriend(friend) {
    this.$emit('friend-selected', friend)
  }
}

在模板中绑定点击事件:

<div v-for="friend in friends" 
     :key="friend.id" 
     class="friend-item"
     @click="selectFriend(friend)">

数据加载 实际项目中通常需要从API获取好友数据。

created() {
  this.fetchFriends()
},
methods: {
  async fetchFriends() {
    try {
      const response = await axios.get('/api/friends')
      this.friends = response.data
    } catch (error) {
      console.error('获取好友列表失败', error)
    }
  }
}

状态管理 对于大型应用,建议使用Vuex管理好友状态。

computed: {
  friends() {
    return this.$store.state.friends.list
  }
}

vue实现好友列表

标签: 好友列表vue
分享给朋友:

相关文章

vue实现倒计时

vue实现倒计时

Vue 实现倒计时的基本方法 使用 setInterval 和响应式数据 在 Vue 组件中定义一个响应式变量(如 countdown),通过 setInterval 每秒更新数值。组件销毁时清除…

vue实现aop切面

vue实现aop切面

Vue 实现 AOP 切面编程的方法 在 Vue 中实现 AOP(面向切面编程)可以通过多种方式,以下是几种常见的实现方法: 使用 Vue 混入(Mixins) Vue 的混入机制可以用于实现横切…

课程表vue实现

课程表vue实现

实现课程表的Vue组件 创建课程表需要设计数据结构、布局和交互逻辑。以下是一个基于Vue 3的实现方案: 数据结构设计 const timetableData = ref([ {…

vue登录业务的实现

vue登录业务的实现

实现登录业务的基本流程 在Vue中实现登录业务通常涉及前端界面设计、表单验证、API请求交互、状态管理以及路由控制等环节。以下是核心实现步骤: 登录表单设计与验证 创建包含用户名和密码输入框的登录组…

vue实现安全免登录

vue实现安全免登录

Vue 实现安全免登录的方案 免登录功能通常通过持久化认证状态(如 Token)实现,但需兼顾安全性。以下是基于 Vue 的常见实现方案: 基于 Token 的免登录 登录成功后存储 Toke…

vue 实现简单登陆

vue 实现简单登陆

以下是一个使用 Vue 3 实现的简单登录功能示例,包含表单验证和基础交互逻辑: 创建 Vue 组件 <template> <div class="login-containe…