运用vue开发基础知识,实现添加学生5门科目的成绩,并计算出平均值的完整代码
时间: 2023-09-10 21:06:38 浏览: 119
c代码-输入5名学生的分数,并显示出他们的总分和平均分。
下面是一个简单的示例代码,演示了如何使用 Vue.js 来添加学生的五门科目成绩并计算平均值。
HTML 代码:
```
<div id="app">
<h1>学生成绩单</h1>
<form>
<label for="name">姓名:</label>
<input type="text" id="name" v-model="student.name">
<label for="subject1">科目1:</label>
<input type="number" id="subject1" v-model="student.subject1">
<label for="subject2">科目2:</label>
<input type="number" id="subject2" v-model="student.subject2">
<label for="subject3">科目3:</label>
<input type="number" id="subject3" v-model="student.subject3">
<label for="subject4">科目4:</label>
<input type="number" id="subject4" v-model="student.subject4">
<label for="subject5">科目5:</label>
<input type="number" id="subject5" v-model="student.subject5">
<button v-on:click.prevent="calculateAverage()">计算平均分</button>
</form>
<div v-if="average">
<p>姓名:{{ student.name }}</p>
<p>平均分:{{ average }}</p>
</div>
</div>
```
JavaScript 代码:
```
var app = new Vue({
el: '#app',
data: {
student: {
name: '',
subject1: null,
subject2: null,
subject3: null,
subject4: null,
subject5: null
},
average: null
},
methods: {
calculateAverage: function() {
var total = 0;
var count = 0;
for (var subject in this.student) {
if (this.student.hasOwnProperty(subject) && subject.indexOf('subject') === 0) {
var score = Number(this.student[subject]);
if (!isNaN(score)) {
total += score;
count++;
}
}
}
this.average = total / count;
}
}
});
```
这个示例代码创建了一个 Vue 实例,绑定了一个数据对象包含了学生的姓名和五门科目的成绩,以及计算平均分的方法。HTML 中的表单绑定了这些数据属性,以便用户可以输入信息。当“计算平均分”按钮被点击时,会调用 `calculateAverage` 方法来计算平均分,然后显示在页面上。
阅读全文