v-model数据双向绑定
a) 作用:数据双向绑定
b) 注意:绑定的是表单控件
c) 示例:计算器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id='app'>
<input type="text" v-model:value="num1">
<select name="" id="" v-model:value="value">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" v-model:value="num2">
<button @click="getSum">=</button>
<input type="text" v-model:value="sum">
</div>
</body>
<script>
let vue = new Vue({
el: '#app',
data: {
value: "+",
num1: "",
num2: "",
sum: "",
},
methods: {
getSum() {
// 1、eval()计算字符串,慎用
// this.sum = eval(`${Number(this.num1)} ${this.value} ${Number(this.num2)}`)
// 2、if判断
// if (this.value == "+") {
// this.sum = Number(this.num1) + Number(this.num2)
// } else if (this.value == "-") {
// this.sum = Number(this.num1) - Number(this.num2)
// } else if (this.value == "*") {
// this.sum = Number(this.num1) * Number(this.num2)
// } else {
// this.sum = Number(this.num1) / Number(this.num2)
// }
// 3、switch case
switch (this.value) {
case "+":
this.sum = Number(this.num1) + Number(this.num2);
break;//结束本次判断,程序不往下执行
case "-":
this.sum = Number(this.num1) - Number(this.num2);
break;
case "*":
this.sum = Number(this.num1) * Number(this.num2);
break;
case "/":
this.sum = Number(this.num1) / Number(this.num2);
break;
}
}
}
})
</script>
</html>

浙公网安备 33010602011771号