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 相关文章推荐
借用Google的Javascript API Loader来加速你的网站
Jan 28 Javascript
JQuery select控件的相关操作实现代码
Sep 14 Javascript
jquery显示和隐藏div特效实例
Feb 27 Javascript
JS 获取select(多选下拉)中所选值的示例代码
Aug 02 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
Sep 10 Javascript
JS实现距离上次刷新已过多少秒示例
May 23 Javascript
javascript实现节点(div)名称编辑
Dec 17 Javascript
Javascript闭包用法实例分析
Jan 23 Javascript
jquery简单实现图片切换效果的方法
May 12 Javascript
微信小程序页面间通信的5种方式
Mar 31 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
vue项目配置使用flow类型检查的步骤
Mar 18 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
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
PHP中使用curl入门教程
2015/07/02 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
2017/01/21 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
NodeJS实现同步的方法
2019/03/02 NodeJs
Javascript 类型转换、封闭函数及常见内置对象操作示例
2019/11/15 Javascript
这样回答继承可能面试官更满意
2019/12/10 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
python实现简单的计时器功能函数
2015/03/14 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
八一建军节感言
2014/02/28 职场文书
安全教育实施方案
2014/03/02 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
2015年小学语文教学工作总结
2015/05/25 职场文书
nginx如何将http访问的网站改成https访问
2021/03/31 Servers
Django基础CBV装饰器和中间件
2022/03/22 Python