使用 v-model 实现计算器的案例|学习笔记

简介: 快速学习使用 v-model 实现计算器的案例

开发者学堂课程【Vue.js 入门与实战使用 v-model 实现计算器的案例】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/586/detail/8136


使用v-model实现计算器的案例


目录

一、使用 v-model 实现计算器

二、代码

 

一、使用 v-model 实现计算器

创建界面,第一步 input,创建数据绑定 n1并使用 v-model,接下来创建 select框,option 加减乘除4个选项,再创建一个 input,创建数据绑定 n2并使用 v-model,再创建一 个 button 和 result。刷新浏览,可以看到这三个框绑定了 n1、n2、result。

首先要在 data 定义这三个属性:data: {n1:0,n2:0,result:0}

1666936917012.jpg 

image.png可以看到算术符号也属于表单元素,添加操作符 option(这里简写为 opt)v-model 绑定到 data,默认为加号。

为了使等号有一个计算的方法,需要增加触发 @click="calc"的方法,在 data 有一个平级 methods,添加 switch(this.opt){case ‘+’:},由于 n1 或者 n2 有可能是字符串,所以添加

this.result = parseInt(this.n1) + parseInt(this.n2)

这样应用逻辑就完成了,只要点击就会触发 calc 计算,计算完成之后就会重新给result 赋值。那么 model 被修改了,所以 model 元素也被修改了,vm 会自动同步到页面中去。

刷新浏览可以查看计算.

1666936935240.jpg

1666936944162.jpg

有个投机取巧的方式:有个函数叫 eval,它能把字符串解析执行,然后拿到执行结果。

添加var codeStr = ‘parseInt(this.n1)’ + this.opt + ‘parseInt(this.n2)’这样得到字符串代码,然后把这个字符串代码用 eval 解析,就会执行。

解析的结果就反回 result。

1666936894424.jpg

image.png注意:

这个方法是投机取巧的,在将来项目里面发现其他方法都很麻烦时可以用一下,尽量少用。

 

二、代码

<head>

<meta charset="UPr-8">

<meta name="viewport" content="width=device-width,initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title>

<script src=" . /lib/vue-2.4.0.js"></script>

</head>

<body>

<div id=”app”>

<input type=”text” v-model=”n1”>

<select v-model=”opt”>

<option value="+">+</option>

<option value="-">-</ option>

<option value="*">*</ option>

<option value="/">/</option>

</select>

<input type="text" v-model="n2">

<input type="button" value="=" @click=”calc”>

imput type="text" v-model="result">

</div>

<script>

//创建vue 实例,得到ViewMode1

var vm= new vue ({

el: ‘#app’,

data: {

n1:0,

n2:0,

result:0,

opt: ‘+’

},

methods: {

calc(){ //计算器算数的方法

//逻辑:

/* switch(this.opt){

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;

} */

//注意:这是投机取巧的方式,正式开发中,尽量少用

var codeStr = ‘parseInt(this.n1)’ + this.opt + ‘parseInt(this.n2)’

this.result = eval(codeStr)

}

}

});

</script>

</body>

相关文章
|
7月前
|
安全 Serverless Python
用Python实现计算器功能
用Python实现计算器功能
80 1
|
7月前
|
算法 测试技术 UED
Python实现计算器的设计与实现
Python实现计算器的设计与实现
276 0
|
Java
从计算器小例子的总结思考
从计算器小例子的总结思考
127 0
|
算法 前端开发 存储
前端算法-计算器
前端算法-计算器
|
Java 数据安全/隐私保护 容器
背记不如实战系列-javaGUI实例-计算器制作
背记不如实战系列-javaGUI实例-计算器制作
95 0
|
Python
python实现简单的计算器 带界面
python实现简单的计算器 带界面
285 0
python实现简单的计算器 带界面
|
Python
python编程 input输入函数
本章将会讲解输入与输出中的 input()输入函数
208 0
python编程 input输入函数
|
JavaScript 前端开发 Serverless
最简单的用js模拟计算器进行计算(初级)
用js模拟计算器进行计算 今天我们来讲一下怎么使用js来模拟计算器的加减乘除基本运算。代码如下: HTML代码: &lt;h1&gt;计算器&lt;/h1&gt; &lt;input type=&quot;number&quot; name=&quot;&quot; id=&quot;num1&quot;&gt; &lt;br&gt; &lt;input type=&quot;number&quot; name=&quot;&quot; id=&quot;num2&quot;&gt; &lt;br&gt; &lt;button onclick=&quot;func(&#39;+&#39;)&quot;&gt;+&lt;/button&gt; &lt;button onclick=&quot;func(&#39;-&#39;)&quot;&gt;-&lt;/button&gt; &lt;button onclick=&quot;func(&#39;*&#39;)&quot;
|
小程序 Python
【python学习小案例】提高兴趣之BMI计算器
✨前言 今天分享一个BMI指数计算小程序 可以使用自己编写的程序随时监测自己的BMI哦!!!
【python学习小案例】提高兴趣之BMI计算器
|
JavaScript
使用v-model实现计算器的案例
一、使用v-model实现计算器 二、代码
使用v-model实现计算器的案例