Vue实现手机计算器


Posted in Javascript onAugust 17, 2020

本文实例为大家分享了Vue制作仿手机计算器的具体代码,供大家参考,具体内容如下

1.首先是把样式做出来,按钮是0-9,还有加减乘除,百分号,清除按钮,小数点,等号、等等

Vue实现手机计算器

2.把官方网站的JS插件引用,cn.vuejs.org/v2/guide/

Vue实现手机计算器

页面视图

Vue实现手机计算器

JS

Vue实现手机计算器

Vue实现手机计算器

Vue实现手机计算器

new Vue({
   el: "#app",
   data: {
    equation: '0',
    isDecimalAdded: false, //防止在一组数字中间输入超过一个小数位
    isOperatorAdded: false, //判断之否已点击 加、减、乘、除,防止连续点击超过一个运算符号
    isStarted: false, //判断计算器是否已经开始输入数字,用于正负数和百分比计算的时候作一些判断
   },
   methods: {
    //Check if the character is + - × ÷
    isOperator(character) { //用来判断character 是否加减乘除
     return ['+', '-', '×', '÷'].indexOf(character) > -1
    },
    append(character) { //append(character)加减乘除
     if (this.equation === '0' && !this.isOperator(character)) {
      if (character === '.') {
       this.equation += '' + character
       this.isDecimalAdded = true
      } else {
       this.equation = '' + character
      }
      this.isStarted = true
      return
     }

     if (!this.isOperator(character)) {
      if (character === '.' && this.isDecimalAdded) {
       return
      }

      if (character === '.') {
       this.isDecimalAdded = true
       this.isOperatorAdded = true
      } else {
       this.isOperatorAdded = false
      }
      this.equation += '' + character
     }

     if (this.isOperator(character) && !this.isOperatorAdded) {
      this.equation += '' + character
      this.isDecimalAdded = false
      this.isOperatorAdded = true
     }
    },
    calculate() { //等于号的时候
     let result = this.equation.replace(new RegExp('×', 'g'), '*').replace(new RegExp('÷', 'g'), '/')
     this.equation = parseFloat(eval(result).toFixed(9)).toString()
     this.isDecimalAdded = false
     this.isOperatorAdded = false
    },
    calculateToggle() { //点击正负号
     if (this.isOperatorAdded || !this.isStarted) {
      true
     }

     this.equation = this.equation + '* -1'
     this.calculate()
    },
    calculatePercentage() { //点击百分比
     if (this.isOperatorAdded || !this.isStarted) {
      true
     }

     this.equation = this.equation + '* 0.01'
     this.calculate()
    },
    clear() { //点击AC
     this.equation = '0'
     this.isDecimalAdded = false //防止在一组数字中间输入超过一个小数位
     this.isOperatorAdded = false //判断之否已点击 加、减、乘、除,防止连续点击超过一个运算符号
     this.isStarted = false //判断计算器是否已经开始输入数字,用于正负数和百分比计算的时候作一些判断
    }
   }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用js实现计算代码行数的简单方法附代码
Aug 13 Javascript
用javascript实现计算两个日期的间隔天数
Aug 14 Javascript
基于jQuery实现的水平和垂直居中的div窗口
Aug 08 Javascript
ECMAScript 创建自己的js类库
Nov 22 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
Mar 11 Javascript
通过一段代码简单说js中的this的使用
Jul 23 Javascript
javascript的replace方法结合正则使用实例总结
Jun 16 Javascript
webpack构建vue项目的详细教程(配置篇)
Jul 17 Javascript
浅谈React之状态(State)
Sep 19 Javascript
使用post方法实现json往返传输数据的方法
Mar 30 Javascript
详解VUE调用本地json的使用方法
May 15 Javascript
js仿京东放大镜效果
Aug 09 Javascript
Vuex实现购物车小功能
Aug 17 #Javascript
jquery+ajax实现异步上传文件显示进度条
Aug 17 #jQuery
jQuery实现异步上传一个或多个文件
Aug 17 #jQuery
vue项目里面引用svg文件并给svg里面的元素赋值
Aug 17 #Javascript
vue动态加载SVG文件并修改节点数据的操作代码
Aug 17 #Javascript
Vue如何将页面导出成PDF文件
Aug 17 #Javascript
Vue实现腾讯云点播视频上传功能的实现代码
Aug 17 #Javascript
You might like
php中定时计划任务的实现原理
2013/01/08 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
Jquery中val()表单取值赋值的实例代码
2013/08/15 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
Javascript Objects详解
2014/09/04 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
vue项目中添加单元测试的方法
2018/07/21 Javascript
JavaScript函数定义方法实例详解
2019/03/05 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
python实现socket端口重定向示例
2014/02/10 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
质量工程师岗位职责
2013/11/16 职场文书
计算机专业应届生求职信
2014/04/06 职场文书
关于运动会的广播稿
2014/09/22 职场文书
大学军训的体会
2014/11/08 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
公司酒会主持词
2015/07/02 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
python神经网络ResNet50模型
2022/05/06 Python
mysql函数之截取字符串的实现
2022/08/14 MySQL