当前位置:首页 > VUE

Vue 实现头条评论

2026-02-25 17:32:44VUE

Vue 实现头条评论功能

数据准备与绑定 使用 Vue 的 dataref(Composition API)存储评论列表和用户输入内容。例如:

data() {
  return {
    comments: [
      { id: 1, content: "第一条评论", likes: 10 },
      { id: 2, content: "第二条评论", likes: 5 }
    ],
    newComment: ""
  }
}

模板渲染 通过 v-for 渲染评论列表,结合 v-model 绑定输入框:

<div v-for="comment in comments" :key="comment.id">
  <p>{{ comment.content }}</p>
  <button @click="likeComment(comment.id)">点赞 {{ comment.likes }}</button>
</div>
<input v-model="newComment" placeholder="输入评论">
<button @click="addComment">提交</button>

交互逻辑 实现添加评论和点赞功能的方法:

Vue 实现头条评论

methods: {
  addComment() {
    if (this.newComment.trim()) {
      this.comments.push({
        id: Date.now(),
        content: this.newComment,
        likes: 0
      });
      this.newComment = "";
    }
  },
  likeComment(id) {
    const comment = this.comments.find(c => c.id === id);
    if (comment) comment.likes++;
  }
}

优化与扩展功能

分页加载 结合 axios 实现分页请求,监听滚动事件加载更多:

async loadMore() {
  const res = await axios.get('/api/comments', { params: { page: this.page } });
  this.comments = [...this.comments, ...res.data];
  this.page++;
}

用户认证 在提交评论时检查登录状态:

Vue 实现头条评论

addComment() {
  if (!this.$store.state.isLoggedIn) {
    alert("请先登录");
    return;
  }
  // 原有逻辑
}

样式与交互增强

悬浮效果 使用 CSS 增强交互体验:

.comment-item:hover {
  background-color: #f5f5f5;
  transition: background 0.3s;
}

时间格式化 显示评论发布时间,使用过滤器或计算属性:

filters: {
  formatDate(value) {
    return new Date(value).toLocaleString();
  }
}

模板中调用:

<span>{{ comment.time | formatDate }}</span>

标签: 头条Vue
分享给朋友:

相关文章

Vue数据依赖实现

Vue数据依赖实现

Vue数据依赖实现原理 Vue的数据依赖实现基于响应式系统,核心是通过Object.defineProperty或Proxy拦截数据读写操作,结合发布-订阅模式自动追踪依赖和触发更新。 核心机制…

Vue语法实现

Vue语法实现

Vue 语法实现 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是 Vue 的核心语法实现方式: 模板语法 Vue 使用基于 HTML 的模板语法,允许开发者声明式地…

Vue gitbook 实现

Vue gitbook 实现

Vue 与 GitBook 集成实现 将 Vue 集成到 GitBook 中可以通过插件或自定义构建流程实现,以下是具体方法: 使用 gitbook-plugin-vue 插件 安装插件到 GitB…

Vue实现画布

Vue实现画布

Vue 实现画布的方法 在 Vue 中实现画布功能可以通过 HTML5 的 <canvas> 元素结合 Vue 的响应式特性来完成。以下是几种常见的实现方式: 使用原生 <can…

Vue实现闯关

Vue实现闯关

Vue 实现闯关功能的方法 使用 Vue 实现闯关功能通常需要结合组件化开发、状态管理和动画效果。以下是实现闯关功能的几种方法: 组件化设计 将闯关界面拆分为多个组件,如关卡选择组件、游戏主界面组件…

Vue实现路由监

Vue实现路由监

Vue 实现路由监听的方法 在 Vue 中可以通过多种方式实现路由监听,以下是常见的几种方法: 使用 watch 监听 $route 对象 通过 Vue 的 watch 功能可以监听 $route…