首页 > 其他分享 >Vue计算器实例练习

Vue计算器实例练习

时间:2023-05-23 12:13:04浏览次数:32  
标签:sumValue index arr Vue else 点击 实例 && 计算器

计算器实例

  1. 常用的加减乘除,点击=显示计算结果
  2. X2、1/x :输入任意的数字,点击 X2、1/x 计算出结果
  3. 点击C清空当前内容
  4. 点击删除末尾的字符
  5. 点击结果栏,可以直接输入运算表达式

image

源码

  1. X2 使用v-html在网页中显示
  2. 点击特定的位置,执行特定的功能
  3. str.substring(参数1,参数2)
  • 参数1:字符串截取的起始下标,非负的整数。如果此参数是0,则是从字符串的第一个字符开始截取
  • 参数2:截取结束位置的索引下标,注意:截取的结果,不包括结束位置的字符
  1. eval(str)将字符串作为代码来执行,eval("2+2")的结果为4
  2. 公众号“小知识酷”回复“230522Calc”获取完整源码
<table>
    <tr>
        <td colspan="4" style="padding: 0">
            <input type="text" v-model="sumValue">
        </td>
    </tr>
    <tr v-for="(value,index) in arr" :key="value">
        <td  v-for="(val,i) in value" :key="val" @click="getSum(index,i)"  @keyup.enter="print(index,i)" v-html="val"></td>
    </tr>        
</table>
data(){
    return{
        sumValue:"0",
        arr:[["x<sup>2</sup>","1/x","C","✖"],[7,8,9,"/"],[4,5,6,"*"],[1,2,3,"-"],[".",0,"=","+"]]        
    };
},
methods:{
    getSum:function(index,i){
        console.log(index+":"+i)
        if(index==0 && i==0){
            console.log(Math.pow(this.sumValue,2));
            this.sumValue = Math.pow(this.sumValue,2);
        }else if(index==0 && i==1){
            console.log(this.sumValue)
            this.sumValue = 1.0/this.sumValue;                    
        }else if(index==0 && i==2){
            this.sumValue = 0;                    
        }else if(index==0 && i==3){        
            this.sumValue = this.sumValue.substring(0, this.sumValue.length - 1);;                    
        }else if(index==4 && i==2){
            this.sumValue = "结果:"+eval(this.sumValue);            
        }else if(this.sumValue == '0' || this.sumValue[0]=="结"){
            this.sumValue = this.arr[index][i].toString();
        }else if(this.sumValue != '0' && this.arr[index][i].toString()!="="){                
            this.sumValue = this.sumValue + this.arr[index][i].toString();
        }            
    },
}

标签:sumValue,index,arr,Vue,else,点击,实例,&&,计算器
From: https://www.cnblogs.com/MrFlySand/p/17423076.html

相关文章

  • vueh5实现双指操作图片或者内容放大缩小拖动 (hammerjs插件)
    可在mounted钩子直接使用通过使用Hammer.js库来实现手势操作,包括缩放、拖动和双击重置功能1.在模板中添加了一个<div>元素,并为其设置了ref属性,以便在代码中引用该元素。2.在mounted生命周期钩子函数中,通过this.$refs.main获取之前设置的<div>元素。3.创建了一个新的Hammer实例,传入......
  • 【linux进阶】shell 命令之 awk | sed命令详解,带实例
    WK和Sed是常用的文本处理工具,可以用来处理文本文件、日志文件等数据。下面将分别介绍AWK和Sed命令,并提供一些实例。AWK命令AWK是一种文本处理工具,其名字取自它的三位创始人的姓名:AlfredAho,PeterWeinberger和BrianKernighan。AWK命令通常用于从文件或其他输入流中......
  • 基于JAVA的springboot+vue“智慧食堂”设计与实现,食堂管理系统,附源码+数据库+lw文档+P
    1、项目介绍本系统的用户可分为用户模块和管理员模块两大界面组成。一个界面用于管理员登录,管理员可以管理系统内所有功能,主要有首页,个人中心,用户管理,菜品分类管理,菜品信息管理,留言板管理,系统管理,订单管理等功能;另一界面用于用户登录,用户进入系统可以实现首页,菜品信息,留言板,个人......
  • 一个基础的vue图片放大镜自定义指令
    <template> <div>  <divv-magnifyref="content"class="content">   <imgsrc="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"alt="">  </div> </d......
  • VUE入门
    什么是Vue?Vue(发音为/vjuː/,类似 view)是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue都可以胜任。vue的两大核心声明式渲染:Vue......
  • vue3遇到的问题集合
    1.vue3打包设置 2.vue3路由配置history 3.vue3屏蔽eslint ......
  • 火山引擎DataLeap数据调度实例的 DAG 优化方案(三):技术实现
    在原始数据中,是以一个数组的形式返回节点信息及依赖关系。所以,需要对数据进行处理形成图所需要的数据,同时,利用多个map对数据进行存储,方便后续对数据进行检索,减少时间复杂度。实例节点的样式需要通过基础图形Text(文本)、Rect(矩形)、Icon(图标)进行组合,以达到我们的设计要求。......
  • vue3 左侧菜单栏默认展开关闭
    <el-menuclass="mainMenu"routerbackground-color="transparent"active-text-color="#fff":unique-opened="true":collapse-transition="false"......
  • vue中实现文件上传下载的三种解决方案(推荐)
    ​ 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range  用于请求头......
  • Vue3+Vite部署到Netlify
    前言本项目的前端是使用Vue3技术。因为用到了Vite做代理解决跨域问题,所以部署到Netlify需要多做一些步骤。使用Vite代理后,如果前端是在本地部署,需要添加VITE_PROXY环境变量。例如在.env.development文件中添加VITE_PROXY=[["/api/v1","https://xx.naihe.me/api/v1"],["/ws",......