需求
上一篇章介绍了使用v-model双向绑定「表单元素」的value与Vue中的data数据,那么利用该特性来写一个加减乘除的计算器。
示例
代码语言:javascript
复制
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body>
<div id="app"> <!-- 输入计算器的第一个数 n1 --> <input type="text" v-model="n1"> <!-- 设置加减乘除 --> <select v-model="opt"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <!-- 输入计算器的第二个数 n2 --> <input type="text" v-model="n2"> <!-- 设置等号=作为监听事件,计算结果 --> <input type="button" @click="calc" value="="> <!-- 显示结果的值 --> <input type="text" v-model="result"> </div> <!-- 1.导入vue.js库 --> <script src="lib/vue.js"></script> <script> // 2. 创建一个Vue的实例 var vm = new Vue({ el: '#app', data: { n1: 0, n2: 0, result:0, opt: "+" // 设置默认为加法 }, methods:{ calc(){ // 根据设置的计算方法进行计算 switch (this.opt) { case "+": // 加法 this.result = parseFloat(this.n1) + parseFloat(this.n2); break; case "-": // 减法 this.result = parseFloat(this.n1) - parseFloat(this.n2); break; case "*": // 乘法 this.result = parseFloat(this.n1) * parseFloat(this.n2); break; case "/": // 除法 this.result = parseFloat(this.n1) / parseFloat(this.n2); break; } } } }) </script>
</body>
</html>
浏览器执行如下: