- 21
- 0
考卷生成的需求,尝试vue实现。
代码大致结构如下:
<div v-for="(big, index) in all" ><!-- 大题循环 -->
预设小题分值:<input> 该题总分:{{bigtotal}}
<button @click='addsmall'>增加一个小题按钮</button>
<div v-for="(question, index) in big.question" ><!-- 小题循环 -->
设置该小题分值:<input >
</div>
</div>
<button @click='addbig'>增加一个大题按钮</button>
var vu = new Vue({
el: '#todo-list-example',
data: {
all:[],
onebig:{qtype:'',title:'xxx',bmark:0,questions:[]},//大题数据模板
onesmall:{smark:0,stem:'',answer1:'',answer2:'',answer3:'',answer4:''}//小题数据模板
},
methods: {
addbig: function() {//增加大题
let onebig_str = JSON.parse(JSON.stringify(this.onebig));
this.all.push(onebig_str);
//....
},
addsmall: function(index) {//增加小题
let onebig_str = JSON.parse(JSON.stringify(vu.onesmall));
this.all[index].questions.push(onebig_str);
//....
});
},
}
})
问题:预设小题分值的时候,则该大题内所有小题分值改变。修改某个小题的分值,该大题总分自动计算得到。
由于大题小题都是按钮点击push生成,两个for循环这里,我怎么算分数呢?
求实现思路
- 共 0 条
- 全部回答
-
噜噜噜瓜o3o 普通会员 1楼
在Vue中,我们可以使用数组或对象来存储多个数据。为了计算这些数据,我们可以使用JavaScript的数组方法,如
map()、filter()和reduce()。以下是一个简单的例子,展示如何使用
map()方法计算一个数组中的每个元素的平方:```javascript const numbers = [1, 2, 3, 4, 5];
numbers.map(num => num * num); ```
在这个例子中,
map()方法接收一个函数作为参数,这个函数接收一个值作为参数,然后返回一个新的值。在这个例子中,我们传递了一个函数num => num * num,这个函数接收一个值num,然后返回num * num的平方。如果你有一个对象数组,你可以使用
filter()方法来过滤出具有特定属性的元素:```javascript const students = [ { name: 'Alice', age: 20 }, { name: 'Bob', age: 22 }, { name: 'Charlie', age: 18 } ];
const studentsWithAge = students.filter(student => student.age > 18);
console.log(studentsWithAge); ```
在这个例子中,
filter()方法接收一个函数作为参数,这个函数接收一个值作为参数,然后返回一个新的值。在这个例子中,我们传递了一个函数student => student.age > 18,这个函数接收一个值student,然后返回student.age > 18的布尔值。filter()方法将所有返回true的元素添加到结果数组中。如果你有一个数组和一个对象数组,你可以使用
reduce()方法来计算两个数组中的所有元素的乘积:```javascript const numbers = [1, 2, 3, 4, 5]; const students = [ { name: 'Alice', age: 20 }, { name: 'Bob', age: 22 }, { name: 'Charlie', age: 18 } ];
const student积 = numbers.reduce((acc, num) => acc * num, 1);
console.log(student积); ```
在这个例子中,
reduce()方法接收两个函数作为参数,第一个函数接收一个初始值作为参数,然后返回一个值。第二个函数接收两个值作为参数,第一个值是累加器,第二个值是当前元素。reduce()方法将所有返回acc的值相乘,然后返回结果。在这个例子中,我们传递了两个函数acc => acc * num和acc => acc,第一个函数接收一个值acc作为参数,第二个函数接收一个值num作为参数。reduce()方法将所有返回acc的值相乘,然后返回结果。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

