当前位置: 首页 > article >正文

Vue初学-简易计算器

最近在学习Vue的指令,做了一个简易计算器,比较适合刚入门的人参考学习。用到的知识点有:
1.插值表达式
2.v-model,双向绑定+、-、*、/、**等操作符
3.v-show,控制操作数2是否显示,乘方时不显示操作数2
4.methods选项,定义了calculate ()方法,实现各种运算
5.watch选项,监听selected的值的变化。
下面是程序的执行效果:
在这里插入图片描述

如果选择的是**乘方,操作数2不显示,这是利用v-show控制实现的,如图所示。
在这里插入图片描述
参考代码如下。

<!DOCTYPE html>
<html>
<head>
    <title>项目2-1简易计算器</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
    <div id="app">
        <div class="calc">
            <h3>简易计算器</h3>
            <p> 操作数1 <input type="number" v-model="oper1" class="operand" /></p>
            <p class="opera"> 运算符
                <input type="radio" name="operator" value="+" v-model="selected">+
                <input type="radio" name="operator" value="-" v-model="selected">-
                <input type="radio" name="operator" value="*" v-model="selected">x
                <input type="radio" name="operator" value="/" v-model="selected"><input type="radio" name="operator" value="**" v-model="selected">**
            </p>
            <p>
                <span v-show="isSeen">操作数2 <input type="number" v-model="oper2" class="operand" /></span>
            </p>
            <p> <button @click="calculate">计算=</button></p>
            <div>
                <div class="fs22">结果:{{result}}</div>
            </div>
        </div>
    </div>
</body>
<script type="text/javascript">
    const RootComponent = {  //创建根组件
        data() {
            return {
                isSeen: true,
                selected: '',
                oper1: '',
                oper2: '',
                result: '',
            }
        },
        methods: {
            calculate () {
                if (this.selected === '') {
                    alert("请选择运算符")
                    return
                }
                switch (this.selected) {
                    case "+":
                        this.result = this.oper1 + this.oper2
                        break
                    case "-":
                        this.result = this.oper1 - this.oper2
                        break
                    case "*":
                        this.result = this.oper1 * this.oper2
                        break
                    case "/":
                        this.result = (this.oper1 / this.oper2).toFixed(2)
                        break
                    case "**":
                        this.result = this.oper1 * this.oper1
                        break
                }
            }
        },
        watch: {
            selected(newValue, oldValue) {
                if (newValue === "**") {
                    this.isSeen = false
                } else {
                    this.isSeen = true
                }
            }
        }
    }
    //创建Vue应用实例并挂载到#app
    const vueApp = Vue.createApp(RootComponent)    
    vueApp.mount("#app")
</script>
<style>
    .calc {
        width: 600px;
        margin: 0 auto;
    }
    .operand {
        width: 120px;
        height: 30px;
        font-size: 20px;
    }
    .opera input {
        margin-left: 20px;
    }
    button {
        width: 80px;
        height: 40px;
        background-color: #339f63;
        color: #fff;
        font-size: 18px;
        border-color: #ccc;
        border-radius: 5px;
    }
    .fs22 {
        font-size: 22px;
        color: red;
    }
</style>
</html>

http://www.kler.cn/a/291530.html

相关文章:

  • 接口对象封装思想及实现-笔记
  • git submodules
  • 基于SpringBoot+vue高效旅游管理系统
  • Ubuntu下Tkinter绑定数字小键盘上的回车键(PySide6类似)
  • 基于 Java 开发的 MongoDB 企业级应用全解析
  • 图漾相机——Sample_V1示例程序
  • 构建高效医护人员排班系统:Spring Boot框架的优势
  • 多维动态规划-面试高频!-最长公共子序列和最长公共子串、回文串-c++实现和详解
  • K8s的Pv和Pvc就是为了pod数据持久化
  • AMV格式转换,试试这五种转换方式
  • Mysql从0到1
  • Arduino IDE安装
  • 【编程贴士】编写类与函数时,什么时候用const、static、inline等关键字?(C、C++)
  • 移动端设计规范:提升用户体验的核心要素
  • 基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
  • F - Simplified Reversi 矩阵侧边视角 修改
  • Python Invoke:强大的自动化任务库
  • C++ 重载运算符和重载函数
  • 构建全景式智慧文旅生态:EasyCVR视频汇聚平台与AR/VR技术的深度融合实践
  • Spark MLlib模型训练—回归算法 Linear regression
  • 不限专业和工作经验,这个含金量巨高的IT证书,90%的大学生都不知道!
  • FPGA 编程基础, 赋值操作符, 运算符使用, 条件表达式, 信号操作方法
  • 工业应用软件开发实训室(边缘计算)建设方案
  • sportbugs报告路径在linux和windows中的配置差异
  • Linux 文件操作相关函数整理
  • 基于django的在线音乐网站设计/基于python的音乐播放系统