欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 前后端分离项目之新增编辑功能

前后端分离项目之新增编辑功能

2025/10/15 7:46:47 来源:https://blog.csdn.net/Chene12345678910/article/details/148217878  浏览:    关键词:前后端分离项目之新增编辑功能

### Vue.js 前端开发笔记:图书添加与编辑功能

1. 响应式数据管理

    - 使用 ` reactive` 创建响应式对象,用于管理表单数据。

    - 在模板中使用 ` v-model` 实现双向数据绑定,确保用户输入能够实时更新响应式数据。

2. API 调用

    - 使用 Axios 进行 HTTP 请求,调用后端 API 实现图书的添加和更新。

    - 在保存成功后,通过路由跳转返回到主页面。

#### 前端代码要点

```vue

<template>

    <input type="text" v-model="obj.bookname">

    <input type="text" v-model="obj.author">

</template>

<script setup>

import { onMounted, reactive } from "vue";

import { getItem, putItem, addItem, getId } from '@/api/api.js';

import { useRouter, useRoute } from "vue-router";

let route = useRoute();

let router = useRouter();

let obj = reactive({

    author: '',

    bookname: ''

});

onMounted(async () => {

    let id = route.params.id || 0;

    if (id) {

        let res = await getId(id);

        Object.assign(obj, res.data);

    }

});

async function btnSave() {

    let id = route.params.id;

    let res;

    if (id) {

        res = await putItem(id, obj);

    } else {

        res = await addItem(obj);

    }

    if (res.code === 1000) {

        router.push('/');

    } else {

        console.log(res.msg);

    }

}

</script>

```

#### 后端代码要点

```javascript

export const getId = async (id) => {

    let data = await axios.get(`http://localhost:8000/books/${id}`);

    return data.data;

};

export const addItem = async (obj) => {

    let data = await axios.post(`http://localhost:8000/books`, obj);

    return data.data;

};

export const putItem = async (id, obj) => {

    let data = await axios.put(`http://localhost:8000/books/${id}`, obj);

    return data.data;

};

```

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词