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

Vue学习笔记(九、简易计算器)

         在这个案例中,我们使用v-model分别双向绑定了n1、n2操作数,op操作选项和result计算结果,同时用@绑定了等号按钮事件。

        由于是双向绑定,当input和select通过外部输入内容时,vm内部的数值也会改变,所以calculate只计算内部这些变量就可以得到正确的结果。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>VueBaseCode</title><script src="./lib/vue.js"></script>
</head><body><div id="app"><input type="text" v-model="n1"><select v-model="op"><option value="+">+</option><option value="-">-</option><option value="*">*</option><option value="/">/</option></select><input type="text" v-model="n2"><input type="button" value="=" @click="calculate"><input type="text" v-model="result"></div><script>var vm = new Vue({el: '#app',data: {n1: 0,n2: 0,op: "+",result: 0},methods: {calculate() {switch (this.op) {case "+":this.result = parseInt(this.n1) + parseInt(this.n2)break;case "-":this.result = parseInt(this.n1) - parseInt(this.n2)break;case "*":this.result = parseInt(this.n1) * parseInt(this.n2)break;case "/":this.result = parseInt(this.n1) / parseInt(this.n2)break;}}}});</script>
</body></html>

         其实这里calculate方法也可以简写一下:

calculate() {this.result = eval(this.n1 + this.op + this.n2);
}

        附:eval()函数接受一个字符串作为参数,并将这个字符串作为JavaScript代码来执行,可以用于用户动态输入执行代码或用于动态生成的代码段的执行,其执行的代码会在当前作用域中运行,这意味着它可以访问和修改当前作用域中的变量,其问题主要包含三个方面,1、又代码注入风险。2、性能差一些。3、可读性和维护性差一些。

http://www.lryc.cn/news/469534.html

相关文章:

  • Maven 不同环境灵活构建
  • 第三十篇:TCP连接断开过程,从底层说明白,TCP系列五
  • 代码随想录算法训练营第七天| 哈希表理论基础 454.四数相加II 383.赎金信 15.三数之和 18.四数之和
  • 搜维尔科技:Manus新品发布Metagloves Pro专业版,专为高精度需求的客户打造,尤其是人形机器人产业与人机工效研究使用
  • Spring Boot实现的动态化酒店住宿管理系统
  • 数字IC后端实现Innovus |给各种IP子模块添加port buffer和antenna diode万能脚本
  • 反向代理服务器---NGINX
  • unity3d————场景管理类SceneManager
  • 鹅厂面试官:Transformer 为何需要位置编码?
  • MySQL数据库学习指南
  • 算法刷题-小猫爬山
  • Maven项目管理工具-初始+环境配置
  • 【JavaEE初阶】网络编程TCP协议实现回显服务器以及如何处理多个客户端的响应
  • Android 中的串口开发
  • TensorRt OP
  • 构建负责任的人工智能:数据伦理与隐私保护
  • 微信小程序live-pusher和video同时使用,video播放声音时时大时小
  • MySQL 分库分表实战
  • MySQL—CRUD—进阶—(二) (ಥ_ಥ)
  • 时序分解 | TTNRBO-VMD改进牛顿-拉夫逊算法优化变分模态分解
  • 2024“源鲁杯“高校网络安全技能大赛-Misc-WP
  • CSS行块标签的显示方式
  • Go 语言中的 for range 循环教程
  • 青训营 X 豆包MarsCode 技术训练营--小M的比赛胜场计算
  • 海王3纯源码
  • 【ShuQiHere】Linux 系统中的硬盘管理详解:命令与技巧
  • 数据结构之堆和二叉树的简介
  • 微信小程序上传图片添加水印
  • xshell5找不到匹配的host key算法
  • Linux中安装Tomcat