当前位置:首页 > 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 发送数据到后端。

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

表单验证

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

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
分享给朋友:

相关文章

vue实现网页切换

vue实现网页切换

Vue 实现网页切换的方法 在 Vue 中实现网页切换通常可以通过以下几种方式完成,具体取决于项目需求和路由管理方式。 使用 Vue Router Vue Router 是 Vue.js 官方提供…

vue实现tab换行

vue实现tab换行

Vue实现Tab切换的常见方法 使用Vue实现Tab切换功能可以通过多种方式完成,以下是几种常见的方法: 动态组件结合v-if或v-show 通过v-if或v-show控制不同Tab内容的显示…

vue怎么实现页面返回

vue怎么实现页面返回

Vue 实现页面返回的方法 在 Vue 中实现页面返回功能,可以通过以下几种方式完成,具体取决于项目使用的路由模式和技术栈。 使用 Vue Router 的编程式导航 通过 this.$router…

vue设计与实现 书

vue设计与实现 书

vue设计与实现 书 《Vue.js设计与实现》是一本深入探讨Vue.js框架内部原理和设计思想的书籍,适合希望深入理解Vue.js的开发者。以下是关于这本书的详细信息: 书籍内容 《Vue.js…

vue穿梭框组件实现

vue穿梭框组件实现

实现基础穿梭框组件 在Vue中实现穿梭框组件,可以使用<el-transfer>(Element UI)或手动实现。以下是手动实现的核心逻辑: <template> &l…

vue实现关键词轮播

vue实现关键词轮播

Vue 实现关键词轮播 基础实现方案 使用 Vue 的 v-for 和 setInterval 实现基础轮播效果: <template> <div class="keywor…