即使我知道我可以使用“event.target”添加一些事件来更新我的一些变量,但在更改某些分数时,如何更新平均值,如下例所示?
<my-tag>
<virtual each="{ criterias }">
<label for="{ name }">{ name }:</label>
<input type="number" min="0" max="10" value="{ score }" name="{ name }" id="{ name }">
</virtual>
<p>Average: { average }</p>
<script>
this.criterias = [
{
name: 'Plot',
score: 8
},
{
name: 'Audio',
score: 9
},
{
name: 'Graphics',
score: 7
}
]
this.average = this.criterias.reduce((a, b) => a + b['score'], 0) / this.criterias.length
</script>
</my-tag>
答案 0 :(得分:0)
this.update()
,onclick
之类的任何更改事件发生后调用 oninput
。我相信您的平均值可以在更新函数内计算,如下所示:
this.on('update', function(){
this.average = this.criterias.reduce((a, b) => a + b['score'], 0);
});