首页 > 其他分享 >简易计算器的实现

简易计算器的实现

时间:2023-04-02 17:11:22浏览次数:38  
标签:num4 val num3 实现 else 简易 sym1 answ1 计算器

设计构想:利用计算属性,监听器和常规计算三种方式实现加减乘除计算。

 

 

 

 

代码实现:

第一步:

新建项目。创建一个新的web项目,引入vue.js文件。

 

 

 

第二步:

设计输入框。利用input标签,创建一个文本类型的输入框,利用v-model.number实现双向绑定,让.number把num1当成字符串处理。

利用placeholder方法设置在未输入数据时显示的内容,效果如下:

 

 

 

 

 

 

2.1.计算属性的输入框:

 

 

 2.2.监听器计算器的输入框:

 

 

 

 2.3.计算方法计算器的输入框:

 

 

 

 

 

 

 第三步:

实现计算功能。

3.1.计算属性:

利用if和else if程序,选择不同符号更改对应的方法,实现加减乘除运算。

 

 

 

3.2.监听属性:

利用watch标签监听num3,num4,sym1输入框和菜单数据的变化,在运算符号菜单发生变化时,改变对应的方法。

 

 

 

4.3计算方法实现计算器:

利用if和else if程序,选择不同符号更改对应的方法,实现加减乘除运算。

 

 

 

第五步:

完善代码。定义计算器输入框和运算符号菜单默认值,使页面更加美观。

 

 

 

 

 

完整代码展示:

<!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="num1">
        <!-- 创建一个输入框,文本类型,placeholder在未输入数据时显示,v-model双向绑定.NUMBER把num1当成字符串处理 -->
        <select v-model="sym">
            <!-- 双向绑定 -->
            <option>+</option>
            <option>-</option>
            <option>*</option>
            <option>/</option>
            <!-- 下拉菜单 -->
        </select>
        <input type="text" placeholder="请输入第二个数" v-model.number="num2"> <br>
        答案:{{res}}<br>
        
        <!-- 监听器 -->
        <input type="text" placeholder="请输入第一个数" v-model.number="num3">
        <select v-model="sym1">
            <option>+</option>
            <option>-</option>
            <option>*</option>
            <option>/</option>
        </select>
        <input type="text" placeholder="请输入第二个数" v-model.number="num4"> <br>
        答案:{{answ1}} <br>
        
        <!-- 常规方法 -->
        <input type="text" placeholder="请输入第一个数" v-model.number="num5" @change="change">
        <!-- @change当输入框里面发生变化,会调用change方法 -->
        <select v-model="sym2"  @change="change">
            <option>+</option>
            <option>-</option>
            <option>*</option>
            <option>/</option>
        </select>
        <input type="text" placeholder="请输入第二个数" v-model.number="num6" @change="change"> <br>
        答案:{{answ2}}
    </div>
    <script>
        var vm = new Vue({
            el: "#app",
            // 作用范围
            data: {
                // 初始化变量
                num1:0,
                num2:0,
                sym:"+",
                answer:"",
                num3:0,
                num4:0,
                sym1:"+",
                answ1:"",
                num5:0,
                num6:0,
                sym2:"+",
                answ2:""
            },
            methods:{
                // 方法属性
                change(){
                    if(this.sym2 == "+") {
                        this.answ2 = this.num5 + this.num6;
                    } else if(this.sym2 == "-") {
                        this.answ2 = this.num5 - this.num6;
                    } else if(this.sym2 == "*") {
                        this.answ2 = this.num5 * this.num6;
                    } else if(this.sym2 == "/"){
                        this.answ2 = this.num5 / this.num6;
                    }
                }
            },
            computed:{
                // 计算属性
                res(){
                    if(this.sym == "+") {
                        return this.num1 + this.num2;
                    } else if(this.sym == "-") {
                        return this.num1 - this.num2;
                    } else if(this.sym == "*") {
return this.num1 * this.num2; } else if(this.sym == "/"){ return this.num1 / this.num2; } } }, watch:{ // 监听器属性 num3(val){ if(this.sym1 == "+") { this.answ1 = val + this.num4; } else if(this.sym1 == "-") { this.answ1 = val - this.num4; } else if(this.sym1 == "*") { this.answ1 = val * this.num4; } else if(this.sym1 == "/"){ this.answ1 = val / this.num4; } }, num4(val){ if(this.sym1 == "+") { this.answ1 = this.num3 + val; } else if(this.sym1 == "-") { this.answ1 = this.num3 - val; } else if(this.sym1 == "*") { this.answ1 = this.num3 * val; } else if(this.sym1 == "/"){ this.answ1 = this.num3 / val; } }, sym1(val){ if(val == "+") { this.answ1 = this.num3 + this.num4; } else if(val == "-") { this.answ1 = this.num3 - this.num4; } else if(val == "*") { this.answ1 = this.num3 * this.num4; } else if(val == "/"){ this.answ1 = this.num3 / this.num4; } } } }) </script> </body> </html>

 

附件分享:

链接:https://pan.baidu.com/s/1zpJSjkYENCtM8ffdOo1BMw?pwd=zzm3
提取码:zzm3
--来自百度网盘超级会员V2的分享

 

标签:num4,val,num3,实现,else,简易,sym1,answ1,计算器
From: https://www.cnblogs.com/letter7/p/17280798.html

相关文章

  • Vue三种方法实现简易计算器。
    计算器实现:方法1:使用v-model进行双向绑定。方法2:使用computed计算属性。方法3:使用watch侦听属性。1.定义自定义方法getResult,该方法用来计算表达式的值。``<head> <metacharset="utf-8"> <title></title><scriptsrc="js/vue.js"></script></head>​......
  • 用OpenCv-Python自带的LBPH识别器实现简单人脸识别(上)
    用OpenCv-Python自带的LBPH识别器实现简单人脸识别(上)引言:本文开发环境为:Windows10+phchram+Anaconda5.2(Python3.6)+Opencv4.5.5,用opencv-contrib原生的API完成了人脸识别的功能,其可以任意添加人脸ID数据,但其效果比较差(勉强能用),如果日后有时间的话,给大家出一期(挖坑)利......
  • 用OpenCv-Python自带的LBPH识别器实现简单人脸识别(下)
    介绍本文附录了通过LBPH实现简单人脸识别的源代码,分类效果并不是很好,供个人学习使用。人脸录入.pyimportcv2cap=cv2.VideoCapture(0)flag=1num=0while(cap.isOpened()):ret_flag,Vshow=cap.read()cv2.imshow("Capture_Test",Vshow)k=cv2.w......
  • Java实现新建三个线程,每个线程顺序打印5个数字,打印到100
    方法一:synchronized+wait+notify//三个线程循环打印数字,每个打印5个,打印数字到numclassWaitNotifyABC{  privatevolatileintnum=0;//线程共享变量  /**Object和this都可以对同步代码块加锁,但是this锁的是类的实例,如果该实例被他人拿走,  则本线......
  • Vue三种方法实现简易计算器
    1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title></title>6<scriptsrc="js/vue.js"></script>7</head>8<body&g......
  • VUE分别使用普通方法、计算属性、监听器完成简易计算器
    计算器功能:1.加减乘除模可以随意切换使用表单元素<seclect>2.当输入框中数字改变时实时得出运算结果方法1:v-model绑定input框的值,绑定input键盘按下和鼠标点击时触发自定义方法getResult,该方法用来计算表达式的值。方法2:使用computed计算属性方法3:使用watch侦听属性3.可以使......
  • vue计算器
    <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>methods</title><scriptsrc="js/vue.js"></script></head><body><di......
  • VUE分别写出 4种计算器
    监听器计算机<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>watch</title><scriptsrc="js/vue.js"></script></head><body>......
  • vue计算器的四种代码
     1.使用表达式<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title>hhhh</title><scripttype="text/javascript"src="js/vue.js"></script>&l......
  • 用三种方式实现简易及计算器
    目标:用三种方式实现简易的计算器(计算属性,监听器,方法)1.创建html,导入vue,实例化vue对象。<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title></title><scripttype="text/javascript"src=&quo......