当前位置:首页 > VUE

vue实现发帖

2026-01-07 23:31:39VUE

使用 Vue 实现发帖功能

前端实现

创建发帖表单组件,包含标题和内容输入框,以及提交按钮。使用 v-model 绑定表单数据。

<template>
  <div>
    <input v-model="post.title" placeholder="标题" />
    <textarea v-model="post.content" placeholder="内容"></textarea>
    <button @click="submitPost">发布</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      post: {
        title: '',
        content: ''
      }
    }
  },
  methods: {
    submitPost() {
      this.$emit('submit', this.post)
      this.post.title = ''
      this.post.content = ''
    }
  }
}
</script>

后端 API 调用

在父组件中处理发帖逻辑,调用 API 发送数据到后端。

vue实现发帖

methods: {
  async handleSubmit(post) {
    try {
      const response = await axios.post('/api/posts', post)
      console.log('发帖成功', response.data)
    } catch (error) {
      console.error('发帖失败', error)
    }
  }
}

表单验证

添加简单的表单验证,确保标题和内容不为空。

vue实现发帖

methods: {
  submitPost() {
    if (!this.post.title.trim() || !this.post.content.trim()) {
      alert('标题和内容不能为空')
      return
    }
    this.$emit('submit', this.post)
  }
}

状态管理

使用 Vuex 管理帖子列表状态,在发帖成功后更新全局状态。

// store.js
mutations: {
  ADD_POST(state, post) {
    state.posts.unshift(post)
  }
}

// 组件中
methods: {
  async handleSubmit(post) {
    try {
      const response = await axios.post('/api/posts', post)
      this.$store.commit('ADD_POST', response.data)
    } catch (error) {
      console.error(error)
    }
  }
}

路由跳转

发帖成功后跳转到帖子列表页。

methods: {
  async handleSubmit(post) {
    try {
      await axios.post('/api/posts', post)
      this.$router.push('/posts')
    } catch (error) {
      console.error(error)
    }
  }
}

标签: 发帖vue
分享给朋友:

相关文章

vue element实现

vue element实现

Vue Element UI 实现 Vue Element UI 是基于 Vue.js 的组件库,提供丰富的 UI 组件,适合快速开发企业级中后台产品。以下是一些关键实现方法和步骤: 安装 Vue…

vue 实现列表

vue 实现列表

Vue 实现列表的方法 在 Vue 中实现列表通常使用 v-for 指令,结合数组或对象数据渲染动态列表。以下是几种常见的实现方式: 基础列表渲染 使用 v-for 指令遍历数组,渲染列表项。it…

vue实现逻辑

vue实现逻辑

Vue 实现逻辑的核心概念 Vue.js 是一个渐进式 JavaScript 框架,其核心逻辑围绕数据驱动和组件化开发。通过响应式系统、虚拟 DOM 和组件生命周期等机制,Vue 实现了高效的前端开发…

vue实现导出

vue实现导出

Vue 实现导出功能的方法 在 Vue 项目中实现导出功能通常涉及将数据导出为 Excel、CSV 或其他格式。以下是几种常见的实现方式: 使用 xlsx 库导出 Excel 安装 xlsx 库:…

vue动画实现

vue动画实现

Vue动画实现方法 Vue提供了多种方式实现动画效果,主要通过内置组件和第三方库完成。 使用<transition>组件 Vue内置的<transition>组件可以为元素添…

vue搜索实现

vue搜索实现

Vue 搜索功能实现方法 基于计算属性的搜索 在 Vue 中可以通过计算属性实现简单的搜索功能。这种方式适合小型数据集,利用 JavaScript 的 filter 方法进行筛选。 data() {…