通过用v-model来实现简易计算器
【代码实现】
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Vue学习</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<input type="text" v-model="n1" />
<select v-model="opt">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" v-model="n2" />
<input type="button" value="=" @click="cal"/>
<input type="text" v-model="result" />
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
n1:0,
n2:0,
result:0,
opt:'+'
},
methods:{
cal(){ //计算器计数
switch(this.opt){
case'+':
this.result = parseInt(this.n1) + parseInt(this.n2)
break;
case'-':
this.result = parseInt(this.n1) - parseInt(this.n2)
break;
case'*':
this.result = parseInt(this.n1) * parseInt(this.n2)
break;
case'/':
this.result = parseInt(this.n1) / parseInt(this.n2)
break;
}
}
}
})
</script>
</body>
</html>
【运行效果】
还有一个投机取巧的方法实现,不过实际开发过程尽量不用:
【代码实现】
cal(){ //计算器计数
var codeStr = 'parseInt(this.n1)' + this.opt + 'parseInt(this.n2)'
this.result = eval(codeStr)
}
可以达到一样的运行效果