Vue · v-model实现简易计算器

通过用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)
}

可以达到一样的运行效果

发布了27 篇原创文章 · 获赞 9 · 访问量 5690

猜你喜欢

转载自blog.csdn.net/weixin_38604274/article/details/104820664