首页 > 其他分享 >Vue三种方法实现简易计算器。

Vue三种方法实现简易计算器。

时间:2023-04-02 16:33:21浏览次数:32  
标签:opt function Vue num1 num2 简易 result 计算器

计算器实现:

方法1:使用v-model进行双向绑定。

方法2:使用computed计算属性。

方法3:使用watch侦听属性。

1.定义自定义方法getResult,该方法用来计算表达式的值。

``

<head>
	<meta charset="utf-8">
	<title></title>
<script src="js/vue.js"></script>
</head>


		<div id="app">
			<!--v-model数据双向绑定  -->
			<input id="input" type="number" v-model="num1"  @click="getResult" /> 
			 <select v-model="opt" @click="getResult">
			 	<option value ="+">+</option>
				<option value ="-">-</option>
				<option value ="*">*</option>
				<option value ="/">/</option>
			 </select>
			<input type="number" v-model="num2"  @click="getResult"/>
			<input type="text" v-model="result"  />
		</div>
		<script >
			var vm = new Vue({
				el:'#app',
				data:{
					num1:0,//第一输入框中的数字
					num2:0,//第二输入框中的数字
					result:null,//计算结果
					opt:''//默认选择的运算符 可以设置为 '','+','-','*','/','%'
				},
				methods:{
					//计算表达式num1 (+ or - or * or / or %) num2 的值
					getResult(){
						if(this.opt === '') //未选择运算符时跳过运算
							return
						var str = this.num1 + this.opt + this.num2;
						this.result = eval(str);//使用eval计算表达式
					}
				},
				created:function(){
					this.getResult() //如果设定了初值,计算结果
				}
			})
		</script>
``

2.当有一些数据需要随着其他数据变动而变动时就需要使用computed计算属性。``

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<!--v-model数据双向绑定  placeholder用于输入框的提示信息-->
			<input  type="number" v-model="number1" placeholder="请输入数字" />
			 <select v-model="opt">
			 	<option value ="+">+</option>
				<option value ="-">-</option>
				<option value ="*">*</option>
				<option value ="/">/</option>
			 </select>
			<input type="number" v-model="number2" placeholder="请输入数字"/>
			<input type="text" v-model="result" placeholder="计算结果"/>
		</div>
		<script >
			var vm = new Vue({
				el:'#app',
				data:{
					number1:0,//第一输入框中的数字
					number2:0,//第二输入框中的数字
					opt:''//默认选择的运算符 
				},
				computed:{
					result:function(){//函数调用
						if(this.opt == '' || this.number1=='' || this.number2 =='') //表达式不完整时跳过运算
							return null
						return eval(`${this.number1}${this.opt}(${this.number2})`)//使用eval计算表达式的值
					}
				}
			})
		</script>
	</body>
</html>

3.只需监听当前Vue实例中的数据变化,就会调用当前数据绑定的事件处理方法。

`

<head>
	<meta charset="utf-8">
	<title></title>
	<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>

		<div id="app">
			<input  type="number" v-model="num1" placeholder="请输入数字" /> 
			 <select v-model="opt">
			 	<option value ="+">+</option>
				<option value ="-">-</option>
				<option value ="*">*</option>
				<option value ="/">/</option>
			 </select>
			<input type="number" v-model="num2" placeholder="请输入数字"/>
			<input type="text" v-model="result"  placeholder="计算结果"/>
		</div>
		<script>
			var vm = new Vue({
				el:'#app',
				data:{
					num1:0,
					num2:0,
					result:null,
					opt:''
				},
				methods:{
					//求出计算结果的方法
					com:function(){
						//当表达式不完整时停止运算
						if(this.opt === '' || this.num1=='' || this.num2==''){
							this.result = null
							return
						}
						this.result = eval(`${this.num1}${this.opt}(${this.num2})`)
					}
				},
				watch:{
					//如果num1发生改变,下面的函数就会运行
					num1:function(){
						this.com()
					},
					//如果num2发生改变,下面的函数就会运行
					num2:function(){
						this.com()
					},
					//如果opt发生改变,下面的函数就会运行
					opt:function(){
						this.com()
					}
				},
				created(){
					this.com()
				}
			})
		</script>

`

标签:opt,function,Vue,num1,num2,简易,result,计算器
From: https://www.cnblogs.com/-cjl/p/17280709.html

相关文章

  • Vue三种方法实现简易计算器
    1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title></title>6<scriptsrc="js/vue.js"></script>7</head>8<body&g......
  • VUE分别使用普通方法、计算属性、监听器完成简易计算器
    计算器功能:1.加减乘除模可以随意切换使用表单元素<seclect>2.当输入框中数字改变时实时得出运算结果方法1:v-model绑定input框的值,绑定input键盘按下和鼠标点击时触发自定义方法getResult,该方法用来计算表达式的值。方法2:使用computed计算属性方法3:使用watch侦听属性3.可以使......
  • vue计算器
    <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>methods</title><scriptsrc="js/vue.js"></script></head><body><di......
  • VUE分别写出 4种计算器
    监听器计算机<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>watch</title><scriptsrc="js/vue.js"></script></head><body>......
  • vue计算器的四种代码
     1.使用表达式<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title>hhhh</title><scripttype="text/javascript"src="js/vue.js"></script>&l......
  • 用三种方式实现简易及计算器
    目标:用三种方式实现简易的计算器(计算属性,监听器,方法)1.创建html,导入vue,实例化vue对象。<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title></title><scripttype="text/javascript"src=&quo......
  • VUE2.0 学习 第一组
    本笔记主要参考菜鸟教程和官方文档编写。 1.对于Vue2.0来说每个vue应用都需要实例化vue来实现。   varvm=newVue({//选项}) 2.首先,DOM是一种api,它可以动态地访问程序和脚本,更新其内容、结构和文档,我认为符合这类功能的都可以叫dom,其次,每一个DOM元素的id(......
  • 第三十二篇 vue - 应用规模化 - 单文件组件 SFC
    单文件组件SFCVue的单文件组件(即*.vue文件,英文Single-FileComponent,简称SFC)是一种特殊的文件格式,使我们能够将一个Vue组件的模板、逻辑与样式封装在单个文件中Vue的单文件组件是网页开发中HTML、CSS和JavaScript三种语言经典组合的自然延伸。<template>、<sc......
  • 第三十三篇 vue - 应用规模化 - 工具链
    项目脚手架viteVite是一个轻量级的、速度极快的构建工具,对VueSFC提供第一优先级支持。作者是尤雨溪,同时也是Vue的作者要使用Vite来创建一个Vue项目,非常简单npminitvue@latest这个命令会安装和执行create-vue,它是Vue提供的官方脚手架工具。跟随命令行的提示......
  • 第三十五篇 vue - 应用规模化 - 状态管理 - Pinia
    什么是状态管理理论上来说,每一个Vue组件实例都已经在“管理”它自己的响应式状态了。我们以一个简单的计数器组件为例<script>exportdefault{//状态data(){return{count:0}},//动作methods:{increment(){this.count++......