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 相关文章推荐
JavaScript 继承使用分析
May 12 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
Aug 23 Javascript
JavaScript深度复制(deep clone)的实现方法
Feb 19 Javascript
微信小程序 传值取值的几种方法总结
Jan 16 Javascript
jQuery插件Echarts实现的渐变色柱状图
Mar 23 jQuery
angular-ngSanitize模块-$sanitize服务详解
Jun 13 Javascript
理解 Node.js 事件驱动机制的原理
Aug 16 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
Sep 18 Javascript
微信小程序getPhoneNumber获取用户手机号
Sep 29 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
Jul 06 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
Oct 26 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
Jun 11 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
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
CURL状态码列表(详细)
2013/06/27 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
php中的登陆login实例代码
2016/06/20 PHP
php解析xml 的四种简单方法(附实例)
2016/07/11 PHP
复选框全选与全不选操作实现思路
2013/08/18 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
jQuery动画效果图片轮播特效
2016/01/12 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
JavaScript实现的超简单计算器功能示例
2017/12/23 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
JS实现网站吸顶条
2020/01/08 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
python实现微信防撤回神器
2019/04/29 Python
python装饰器的特性原理详解
2019/12/25 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
机电一体化专业推荐信
2013/12/03 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
土建专业毕业生自荐书
2014/07/04 职场文书
员工培训协议书
2014/09/15 职场文书
教师年度个人总结
2015/02/11 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
学校推普周活动总结
2015/05/07 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
Python实现排序方法常见的四种
2021/07/15 Python
python使用shell脚本创建kafka连接器
2022/04/29 Python