【发布时间】:2017-06-13 08:07:25
【问题描述】:
我目前有一个循环,它在该循环中两次调用相同的函数,如下所示:
<div class="checkbox" v-for="(value, key) in range">
<input type="checkbox" :disabled="count(Number(key)) === 0">
<span class="items">{{ count(Number(key)) }}</span>
</div>
因为count 方法被调用了两次,所以调试count 函数变得更加困难,因为在console.log 之类的东西上,所有值都会出现两次。
第一个计数方法只是检查它是否为零,而另一个表示计数。有没有一种简单的方法可以重用count 方法的结果,所以我实际上不必调用它两次。已经有结果就不用再调用了。
计算属性之类的东西不起作用,因为我需要传递当前的迭代键。
【问题讨论】:
-
你可以重构它:你可以创建一个计算属性,比如(伪代码)
compCountRange = {rangeKey1: count(Number(rangeKey1)), ...similar pairs},而不是循环range,然后循环它。
标签: javascript vue.js vuejs2 vue-component