Javascript 如何在vueJS中添加数字
如果我用乘法(*)或减法(-)的符号来更改{{num1+num2+num3}}处的符号,效果会很好。但是,当尝试使用(+)进行添加时,它只是连接Javascript 如何在vueJS中添加数字,javascript,vue.js,add,Javascript,Vue.js,Add,如果我用乘法(*)或减法(-)的符号来更改{{num1+num2+num3}}处的符号,效果会很好。但是,当尝试使用(+)进行添加时,它只是连接 <div id="vue_mult"> <input type="number" v-model="num1" min="78" max="98" /> + <input type="number" v-model="num2" min="78" max="98" /> + &
<div id="vue_mult">
<input type="number" v-model="num1" min="78" max="98" /> +
<input type="number" v-model="num2" min="78" max="98" /> +
<input type="number" v-model="num3" min="78" max="98" /> =
{{ num1+num2+num3 }}
</div>
<script>
const app = new Vue({
el:'#vue_mult',
data: {
num1:0,
num2:0,
num3:0
} //end data property
}) //end Vue object
</script>
</body>
</html>
+
+
=
{{num1+num2+num3}}
const app=新的Vue({
el:“#vue_mult”,
数据:{
num1:0,
num2:0,
num3:0
}//结束数据属性
})//结束Vue对象
num1
、num2
和num3
都是字符串,在添加之前先将它们转换为数字:
{{ Number(num1) + Number(num2) + Number(num3) }}
这是因为每个输入的值都自动是字符串(在HTML/HTTP中,所有内容都是一个字符串),因此默认情况下是连接的。我将对一个方法(或计算属性)进行求和,并在运算期间将值转换为整数。这也分离了一些顾虑——使模板更干净
const-app=新的Vue({
el:“#vue_mult”,
数据:{
num1:80,
num2:80,
num3:80
},
方法:{
总和:函数(nums){
设结果=0;
nums.forEach(函数(n){result+=n*1;});
返回结果
}
}
//结束数据属性
})//结束Vue对象
+
+
=
{{sum([num1,num2,num3])}
您只需将字符串解析为数字,然后就可以开始了。
基本上,当您尝试对字符串使用+
运算符时,它执行的是串联
而不是加法。因此,要执行数学运算,您需要将字符串解析为数字。大概是这样的:-
{{ Number(num1) + Number(num2) + Number(num3) }}
为什么它与其他符号一起工作。
当您调用other(除加法外的任何其他运算符)时,它会使用toNumber
函数在内部更改其号码。因此,它们的工作原理与任何正常数字相同
let sub=`1`-`1`;
设mul=`1`*`2`;
设div=`1`/`1`;
控制台日志(sub);
控制台日志(mul)
console.log(div)
对于v-model
指令有一个修饰符,您可以在这种情况下使用它
以下是一个例子:
reduce
可能比forEach
更合适、更简洁,如果您试图将数组的所有值合并为一个值sum:nums=>nums.reduce((a,b)=>a+b,0)
,如果nums
@CertainPerformance中始终至少有一个元素,则可以删除0。reduce()
是我还没有时间探索的数组方法之一,因此这是一个很好的信息。请举例说明如何使用它?