vue實(shí)現(xiàn)簡易計(jì)算器功能
本文實(shí)例為大家分享了vue實(shí)現(xiàn)簡易計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下
功能介紹
1、可以實(shí)現(xiàn)加減乘除
2、可以實(shí)現(xiàn)歸零
3、實(shí)現(xiàn)退格
效果圖一般般,樣式隨便寫的,主要看功能以及實(shí)現(xiàn)方法

代碼加解釋
1、HTML部分
首先布局,把要做的樣子寫出來,為每一個(gè)按鍵綁定一個(gè)點(diǎn)擊事件
<div id="box">
<table>
<tr>
<td><input type="button"value="del" @click="del()"></td>
<td><input type="button"value="C" @click="clean()"></td>
<td colspan="2"><input type="text" style="width: 200px" value="" v-model="rel"></td>
</tr>
<tr>
<td><input type="button"value="7" @click="add('7')"></td>
<td><input type="button"value="8" @click="add('8')"></td>
<td><input type="button"value="9" @click="add('9')"></td>
<td><input type="button"value="/" @click="add('/')"></td>
</tr>
<tr>
<td><input type="button"value="4" @click="add('4')"></td>
<td><input type="button"value="5" @click="add('5')"></td>
<td><input type="button"value="6" @click="add('6')"></td>
<td><input type="button"value="*" @click="add('*')"></td>
</tr>
<tr>
<td><input type="button"value="1" @click="add('1')"></td>
<td><input type="button"value="2" @click="add('2')"></td>
<td><input type="button"value="3" @click="add('3')"></td>
<td><input type="button"value="-" @click="add('-')"></td>
</tr>
<tr>
<td><input type="button"value="0" @click="add('0')"></td>
<td><input type="button"value="." @click="add('.')"></td>
<td><input type="button"value="+" @click="add('+')"></td>
<td><input type="button"value="=" v-on:click="result()" ></td>
</tr>
</table>
</div>
2、css部分,隨便寫的樣式,不是很重要
input{
width: 100px;
height: 100px;
border: 1px solid black;
line-height: 100px;
text-align: center;
border-radius: 10px;
background-color: gainsboro;
outline: none;
}
table{
background-color: #b3d7ff;
margin: auto;
}
3、最后是vm實(shí)例的部分
var vm = new Vue({
el:"#box",
data:{
rel:"",
},
methods:{
add(index){//這里就是按鍵綁定的方法,把獲取到的值拼接到rel字符串上
this.rel +=index;
},
result(){
this.rel = eval(this.rel);//這里是用eval方法進(jìn)行一個(gè)計(jì)算
this.rel = String(this.rel);//這里的目的是為了顯示在顯示欄的數(shù)字還是字符串,只有字符串才能進(jìn)行退格,歸零的操作
},
del(){//這個(gè)就是退格的操作,用字符串的substring方法截取,每一次截取都是從第0個(gè)開始,到長度的前一個(gè),就相當(dāng)于退格了。
this.rel = this.rel.substring(0,this.rel.length-1);
},
clean(){//這里就是歸零的方法,通過給結(jié)果賦一個(gè)空字符串的方法來實(shí)現(xiàn)歸零的操作,當(dāng)然也可以使用刪除的方法,例如unshift方法或者pop方法,直接賦值為空比較簡便。
this.rel = "";
}
}
})
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3?Suspense實(shí)現(xiàn)優(yōu)雅處理異步數(shù)據(jù)加載
Suspense?是?Vue?3?中用于處理異步數(shù)據(jù)加載的特性,它使得在加載異步數(shù)據(jù)時(shí)可以提供更好的用戶體驗(yàn),下面小編就來和大家詳細(xì)講講Suspense如何優(yōu)雅處理異步數(shù)據(jù)加載吧2023-10-10
Vue+ElementUI容器無法鋪滿網(wǎng)頁的問題解決
這篇文章主要介紹了Vue+ElementUI容器無法鋪滿網(wǎng)頁的問題解決,文章通過圖文結(jié)合的方式給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-08-08
淺析Vue.js中v-bind v-model的使用和區(qū)別
v-model 指令在表單控件元素上創(chuàng)建雙向數(shù)據(jù)綁定,所謂雙向綁定。這篇文章主要介紹了Vue.js中v-bind v-model的使用和區(qū)別,需要的朋友可以參考下2018-12-12
el-descriptions引入代碼中l(wèi)abel不生效問題及解決
這篇文章主要介紹了el-descriptions引入代碼中l(wèi)abel不生效問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
vuejs+element-ui+laravel5.4上傳文件的示例代碼
本篇文章主要介紹了vuejs+element-ui+laravel5.4上傳文件的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08
Vue中的el-date-picker時(shí)間選擇器的使用實(shí)例詳解
el-date-picker是Element UI框架中提供的日期選擇器組件,它支持單個(gè)日期、日期范圍、時(shí)間、日期時(shí)間等多種選擇方式,本文給大家介紹Vue中的el-date-picker時(shí)間選擇器的使用,感興趣的朋友一起看看吧2023-10-10
利用Dectorator分模塊存儲Vuex狀態(tài)的實(shí)現(xiàn)
這篇文章主要介紹了利用Dectorator分模塊存儲Vuex狀態(tài)的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02

