用vue写一个html页面连接后台进行增删改查操作
时间: 2023-08-04 16:16:46 浏览: 103
好的,以下是一个简单的示例:
首先,在 HTML 文件中引入 Vue.js 和 axios:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vue CRUD Example</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body>
<div id="app">
<h1>Vue CRUD Example</h1>
<form>
<label>
Name:
<input type="text" v-model="newItem.name">
</label>
<label>
Description:
<input type="text" v-model="newItem.description">
</label>
<button @click.prevent="addItem()">Add Item</button>
</form>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th></th>
</tr>
</thead>
<tbody>
<tr v-for="item in items">
<td>{{ item.name }}</td>
<td>{{ item.description }}</td>
<td>
<button @click.prevent="deleteItem(item)">Delete</button>
</td>
</tr>
</tbody>
</table>
</div>
<script src="app.js"></script>
</body>
</html>
```
然后,创建一个 Vue 实例,并在其中定义增删改查的方法:
```javascript
var app = new Vue({
el: '#app',
data: {
items: [],
newItem: {
name: '',
description: ''
}
},
methods: {
getItems: function() {
axios.get('/api/items')
.then(response => {
this.items = response.data;
})
.catch(error => {
console.log(error);
});
},
addItem: function() {
axios.post('/api/items', this.newItem)
.then(response => {
this.getItems();
this.newItem.name = '';
this.newItem.description = '';
})
.catch(error => {
console.log(error);
});
},
deleteItem: function(item) {
axios.delete('/api/items/' + item.id)
.then(response => {
this.getItems();
})
.catch(error => {
console.log(error);
});
}
},
mounted: function() {
this.getItems();
}
});
```
注意,这里的接口地址为 `/api/items`,并且我们假设服务器会返回一个数组,每个元素包含 `id`、`name` 和 `description` 三个属性。
最后,在后端实现对应的增删改查接口即可。
阅读全文