用methods方法,computed计算属性,watch监听器写一个简易计算器

该代码示例展示了一个使用Vue.js框架构建的简单HTML页面,包含两个输入框用于输入数字,一个下拉菜单选择运算符,以及计算按钮和结果显示区。点击按钮后,根据用户选择的运算符进行加、减、乘、除运算,并实时更新计算结果和计算属性。同时,代码中还实现了对输入数据的侦听,每当输入值改变时,都会重新计算并更新结果。
摘要由CSDN通过智能技术生成
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript" src="js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<input type="text" placeholder="请输入第一个数" v-model.number="number1"/>
			<select v-model="opt">
				<option value="+">+</option>
				<option value="-">-</option>
				<option value="*">*</option>
				<option value="/">/</option>
			</select>
			<input type="text" placeholder="请输入第二个数" v-model.number="number2"/>
			<button @click="change">计算</button><br />
			计算结果:{{jieguo}}<br />
			计算属性:{{xxx}} <br />
			侦听器:{{yy}}
		</div>
	</body>
	<script type="text/javascript">
		var vm = new Vue({
			el:"#app",
			data:{
				number1:0,
				number2:0,
				jieguo:0,
				yy:0,
				opt:"+"
			},
			methods:{
				change(){
					if(this.opt === '+'){
						this.jieguo = this.number1+this.number2
					}
					if(this.opt === '-'){
						this.jieguo = this.number1-this.number2
					}
					if(this.opt === '*'){
						this.jieguo = this.number1*this.number2
					}
					if(this.opt === '/'){
						this.jieguo = this.number1/this.number2
					}
				}
			},
			computed:{
				xxx(){
					return eval(this.number1 + `${this.opt}` + this.number2)
				}
			},
			watch: {
            number1(newNumBer, oldNumBer) {
                console.log("num1:", oldNumBer, newNumBer);
                this.yy = eval(this.number1 + this.opt + this.number2);
            },
            number2(newNumBer, oldNumBer) {
                console.log("num2:", oldNumBer, newNumBer);
                this.yy = eval(this.number1 + this.opt + this.number2);
            },
            opt(newOpt, oldOpt) {
                console.log("opt:", oldOpt, newOpt);
                this.yy = eval(this.number1 + this.opt + this.number2);
            }
        }
		})
	</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值