请检查-下,谢谢
来源:3-23 自由编程
鲨鱼没有鲨鱼线
2020-05-21 11:55:21
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>计算器</title>
<style>
h1 {
text-align: center;
}
input {
border: 1px solid #7c7c7c;
border-radius: 2px;
}
#app {
margin: 0 auto;
width: 80%;
height: 100px;
line-height: 100px;
text-align: center;
}
</style>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<h1>计算器</h1>
<div id="app">
<input type="text" v-model="firNum"/>
<select v-model="value">
<option value="add" selected>+</option>
<option value="sub">-</option>
<option value="mul">*</option>
<option value="division">/</option>
</select>
<input type="text" v-model="secNum"/>
<button @click="cal">=</button>
<input type="text" v-model="res" value="res" disabled/>
</div>
<script>
var app = new Vue({
el: "#app",
data: {
firNum: "",
secNum: "",
res: "",
value: ""
},
methods: {
cal: function () {
switch (this.value) {
case "add":
this.res = Number(this.firNum) + Number(this.secNum);
break;
case "sub":
this.res = Number(this.firNum) - Number(this.secNum);
break;
case "mul":
this.res = Number(this.firNum) * Number(this.secNum);
break;
case "division":
this.res = Number(this.firNum) / Number(this.secNum);
break;
}
}
},
watch: {
value: function (value) {
this.cal(value);
}
}
})
</script>
</body>
</html>1回答
同学你好,计算是没有问题的。还可以优化:
练习的效果图中下拉菜单默认显示+

自己实现的效果中没有

这是因为vue中直接写selected属性是不生效的,不能起到默认选中的作用。需要给value属性添加默认值,参考

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题