vue实现简易计算器

  • Post author:
  • Post category:vue




功能介绍

1、可以实现加减乘除

2、可以实现归零

3、实现退格

效果图一般般,样式随便写的,主要看功能以及实现方法

简易计算器



代码加解释

1、HTML部分

首先布局,把要做的样子写出来,为每一个按键绑定一个点击事件

<div id="box">
    <table>
        <tr>
            <td><input type="button"value="del" @click="del()"></td>
            <td><input type="button"value="C" @click="clean()"></td>
            <td colspan="2"><input type="text" style="width: 200px" value="" v-model="rel"></td>

        </tr>
        <tr>
            <td><input type="button"value="7" @click="add('7')"></td>
            <td><input type="button"value="8" @click="add('8')"></td>
            <td><input type="button"value="9" @click="add('9')"></td>
            <td><input type="button"value="/" @click="add('/')"></td>
        </tr>


        <tr>
            <td><input type="button"value="4" @click="add('4')"></td>
            <td><input type="button"value="5" @click="add('5')"></td>
            <td><input type="button"value="6" @click="add('6')"></td>
            <td><input type="button"value="*" @click="add('*')"></td>
        </tr>

        <tr>
            <td><input type="button"value="1" @click="add('1')"></td>
            <td><input type="button"value="2" @click="add('2')"></td>
            <td><input type="button"value="3" @click="add('3')"></td>
            <td><input type="button"value="-" @click="add('-')"></td>
        </tr>

        <tr>
            <td><input type="button"value="0" @click="add('0')"></td>
            <td><input type="button"value="." @click="add('.')"></td>
            <td><input type="button"value="+" @click="add('+')"></td>
            <td><input type="button"value="=" v-on:click="result()" ></td>
        </tr>


    </table>
</div>

2、css部分,随便写的样式,不是很重要

  input{
            width: 100px;
            height: 100px;
            border: 1px solid black;
            line-height: 100px;
            text-align: center;
            border-radius: 10px;
            background-color: gainsboro;
            outline: none;
        }
        table{
            background-color: #b3d7ff;
            margin: auto;
        }

3、最后是vm实例的部分

  var vm = new Vue({
        el:"#box",
        data:{
            rel:"",

        },
        methods:{
             add(index){//这里就是按键绑定的方法,把获取到的值拼接到rel字符串上
                this.rel +=index;
            },
            result(){
                this.rel = eval(this.rel);//这里是用eval方法进行一个计算
                this.rel = String(this.rel);//这里的目的是为了显示在显示栏的数字还是字符串,只有字符串才能进行退格,归零的操作
            },
            del(){//这个就是退格的操作,用字符串的substring方法截取,每一次截取都是从第0个开始,到长度的前一个,就相当于退格了。
            this.rel = this.rel.substring(0,this.rel.length-1);
            },
            clean(){//这里就是归零的方法,通过给结果赋一个空字符串的方法来实现归零的操作,当然也可以使用删除的方法,例如unshift方法或者pop方法,直接赋值为空比较简便。
                 this.rel = "";
            }
        }
    })



版权声明:本文为qq_25994609原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。