我有一个用于从数组中计算硬币数量的代码,此代码允许我了解我可以从给定订单的表中购买多少,代码 orderSize 正在变异以达到结果,但是当我放置一个输入区域进行手动输入时突变导致输入文本更改的 ordersize(如果它高于第一项数量),我不希望文本更改。我尝试添加另一个等于 orderSize 的变量,但同样的事情发生了。我应该怎么做才能防止输入文本发生变异。(尝试输入任何高于 100 的值,文本会改变)(数组来自我无法控制的外包)(如果我不改变那个变量,我的主要目标计算硬币数量就无法完成)
new Vue({
el: '#app',
data: {
orderSize : null,
},
computed: {
calculateOrder () {
var coinArray = [["100","1"],["200","2"],["300","3"],["400","4"],
["500","5"],["600","6"]] ;
var sum = 0
var sum1 = 0
var i= 0
for (i = 0; i < coinArray.length; i++){
if (coinArray[i][0]*coinArray[i][1] < this.orderSize) {
sum1 += parseFloat(coinArray[i][1]);
sum += coinArray[i][0]*coinArray[i][1];
this.orderSize -= coinArray[i][0]*coinArray[i][1] ;
} else {
return sum1+this.orderSize/parseFloat(coinArray[i][0]);
}
}
},
},
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<input v-model="orderSize" placeholder="Order $">
<p>{{ calculateOrder }}</p>
</div>