vue.js简易学生管理系统
时间: 2023-08-23 19:08:16 浏览: 121
好的,下面是一个简单的基于 Vue.js 的学生管理系统示例。
首先,我们需要一个简单的 HTML 页面来显示学生信息,如下所示:
```html
<!DOCTYPE html>
<html>
<head>
<title>学生管理系统</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<h1>学生管理系统</h1>
<table>
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="(student, index) in students" :key="index">
<td>{{ student.name }}</td>
<td>{{ student.age }}</td>
<td>{{ student.gender }}</td>
<td>
<button @click="editStudent(index)">编辑</button>
<button @click="deleteStudent(index)">删除</button>
</td>
</tr>
</tbody>
</table>
<button @click="addStudent">添加学生</button>
</div>
<script src="app.js"></script>
</body>
</html>
```
接下来,我们需要一个 Vue.js 实例来处理页面上的事件和数据。在 app.js 文件中,我们可以创建以下代码:
```javascript
var app = new Vue({
el: '#app',
data: {
students: [
{
name: '张三',
age: 18,
gender: '男'
},
{
name: '李四',
age: 20,
gender: '女'
}
],
newStudent: {
name: '',
age: '',
gender: ''
},
editing: false,
editingIndex: null
},
methods: {
addStudent: function() {
this.students.push({
name: this.newStudent.name,
age: this.newStudent.age,
gender: this.newStudent.gender
});
this.newStudent.name = '';
this.newStudent.age = '';
this.newStudent.gender = '';
},
editStudent: function(index) {
this.editing = true;
this.editingIndex = index;
this.newStudent.name = this.students[index].name;
this.newStudent.age = this.students[index].age;
this.newStudent.gender = this.students[index].gender;
},
saveStudent: function() {
this.students[this.editingIndex].name = this.newStudent.name;
this.students[this.editingIndex].age = this.newStudent.age;
this.students[this.editingIndex].gender = this.newStudent.gender;
this.editing = false;
this.editingIndex = null;
this.newStudent.name = '';
this.newStudent.age = '';
this.newStudent.gender = '';
},
deleteStudent: function(index) {
this.students.splice(index, 1);
}
}
});
```
上面的代码中,我们首先定义了一个包含学生信息的数组 `students`,以及一个空的对象 `newStudent` 用于添加新的学生信息。同时,我们还定义了两个状态变量 `editing` 和 `editingIndex`,分别表示当前是否正在编辑学生信息以及正在编辑的学生的索引。
接下来,我们定义了四个方法,分别为 `addStudent`、`editStudent`、`saveStudent` 和 `deleteStudent`。其中,`addStudent` 方法用于向 `students` 数组中添加新的学生信息;`editStudent` 方法用于编辑现有的学生信息;`saveStudent` 方法用于保存编辑后的学生信息;`deleteStudent` 方法用于删除指定索引的学生信息。
最后,我们将 Vue.js 实例绑定到页面上的 `#app` 元素。
这样,我们就完成了一个简单的基于 Vue.js 的学生管理系统。您可以在浏览器中打开 HTML 文件来查看效果,也可以在代码中添加更多的功能来完善此系统。
阅读全文