欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的4種方法舉例

 更新時(shí)間:2023年09月27日 09:58:30   作者:非必要不輸出  
這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的4種方法,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue覺(jué)有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一,使用表達(dá)式實(shí)現(xiàn)計(jì)算器:

1.1,大致內(nèi)容都差不多,兩個(gè)<input>輸入框,使用v-if對(duì)表達(dá)式的運(yùn)算符進(jìn)行切換。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
            //這里得type如果寫(xiě)number,后面的綁定就不用加上“.number”
			<input type="text" v-model.number="num1"/>
			<select v-model="opt">
				<option>+</option>
				<option>-</option>
				<option>*</option>
				<option>/</option>
			</select>
//            同上
			<input type="text" v-model.number="num2" />
			<br />
			<div>
				<p v-if="opt=='+'">結(jié)果:{{num1+num2}}</p>
				<p v-if="opt=='-'">結(jié)果:{{num1-num2}}</p>
				<p v-if="opt=='*'">結(jié)果:{{num1*num2}}</p>
				<p v-if="opt=='/'">結(jié)果:{{num1/num2}}</p>
			</div>
		</div>
	</body>
	<script type="text/javascript">
		var vm = new Vue({
			el:"#app",
			data:{
				num1:0,
				num2:0,
				opt:"*"
			}
		})
	</script>
</html>

二,使用計(jì)算屬性(computed)實(shí)現(xiàn)簡(jiǎn)易計(jì)算器

2.1,HTML代碼定義了一個(gè)輸入和輸出元素,兩個(gè)輸入框,使用下拉框,選擇運(yùn)算符。

2.2,計(jì)算屬性根據(jù)選擇的操作符將兩個(gè)數(shù)字進(jìn)行計(jì)算,并將結(jié)果返回給HTML中的輸出元素。當(dāng)用戶更改輸入元素中的值時(shí),計(jì)算屬性將自動(dòng)重新計(jì)算結(jié)果。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>computed</title>
		<script src="js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<input id="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="text" v-model="result"/>
		</div>
		<script type="text/javascript">
			var vm = new Vue({
				el:'#app',
				data:{
					n1:0,
					n2:0,
					opt:'+'
				},
				computed:{
					result(){
						switch (this.opt) {
							case '+':
								return Number(this.n1) + Number(this.n2);
								break;
							case '-':
								return Number(this.n1) - Number(this.n2);
								break;
							case '*':
								return Number(this.n1) * Number(this.n2);
								break;
							case '/':
								return Number(this.n1) / Number(this.n2);
								break;
						}
					}
				}
			})
		</script>
	</body>
</html>

三,使用方法(methods)實(shí)現(xiàn)簡(jiǎn)易的計(jì)算器

3.1,<input>提供兩個(gè)輸入值,  使用v-model進(jìn)行綁定

加上.number改變數(shù)字類(lèi)型,要不然會(huì)變成字符串進(jìn)行計(jì)算。

3.2,button1(),當(dāng)按鈕被點(diǎn)擊時(shí)會(huì)執(zhí)行該函數(shù)。函數(shù)中使用了一個(gè)switch語(yǔ)句,根據(jù)opt變量的不同值,分別執(zhí)行加法、減法、乘法或除法,并將結(jié)果賦值給變量num3。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="app">
        <input type="text" v-model.number="num1">
        <select v-model="opt">
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="/">/</option>
        </select>    
        <input type="text" v-model.number="num2">
        <button @click="button1">計(jì)算</button>
        <input type="text" v-model.number="num3">
        </div>
</body>
    <script>
        var vm = new Vue({
            el:"#app",
            data:{
                num1:0,
                num2:0,
                num3:0,
                opt:'+',
            },
            methods:{
                button1(){
                    switch(this.opt){
                        case '+':
                            this.num3=this.num1 + this.num2;
                            break;
                        case '-':
                            this.num3=this.num1 - this.num2;
                            break;
                        case '*':
                             this.num3=this.num1 * this.num2;
                             break;
                        case '/':
                            this.num3=this.num1 / this.num2;
                            break;
                    }
                }
            }
        });
    </script>
</html>

四,使用偵聽(tīng)器(watch)實(shí)現(xiàn)計(jì)算器

4.1,HTML代碼不變,兩個(gè)輸入數(shù)值的輸入框和輸出元素的表單,一個(gè)基礎(chǔ)的vue實(shí)例化。 

4.2 ,使用Vue.js的watch屬性來(lái)監(jiān)視數(shù)據(jù)的變化。 定義了三個(gè)監(jiān)視器函數(shù),分別監(jiān)視n1,n2和opt屬性。每當(dāng)這些屬性中的任何一個(gè)發(fā)生變化時(shí),監(jiān)視器函數(shù)將調(diào)用方法來(lái)重新計(jì)算結(jié)果,并更新數(shù)據(jù)屬性中的值。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>watch</title>
		<script src="js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<input id="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="text" v-model="result" />
		</div>
		<script type="text/javascript">
			var vm = new Vue({
				el:'#app',
				data:{
					n1:0,
					n2:0,
					result:null,
					opt:'+'
				},
				methods:{
					watch1(){
						switch (this.opt) {
							case '+':
								this.result = Number(this.n1) + Number(this.n2);
								break;
							case '-':
								this.result = Number(this.n1) - Number(this.n2);
								break;
							case '*':
								this.result = Number(this.n1) * Number(this.n2);
								break;
							case '/':
								this.result = Number(this.n1) / Number(this.n2);
								break;
						}
					}
				},
				watch:{
					n1:function(){
						this.watch1()
					},
					n2:function(){
						this.watch1()
					},
					opt:function(){
						this.watch1()
					}
				},
				created(){
					this.watch1()
				}
			})
		</script>
	</body>
</html>

總的來(lái)說(shuō),這些方法能。具體選擇哪種方法取決于個(gè)人喜好和項(xiàng)目需求。計(jì)算屬性適用于簡(jiǎn)單的計(jì)算,而監(jiān)視器函數(shù)和方法的組合可以處理更加復(fù)雜的計(jì)算。

總結(jié)

到此這篇關(guān)于vue實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的4種方法的文章就介紹到這了,更多相關(guān)vue簡(jiǎn)易計(jì)算器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue實(shí)現(xiàn)記住賬號(hào)密碼功能的操作過(guò)程

    Vue實(shí)現(xiàn)記住賬號(hào)密碼功能的操作過(guò)程

    這篇文章主要介紹了Vue實(shí)現(xiàn)記住賬號(hào)密碼功能,用戶登錄時(shí)若勾選“記住我”功能選項(xiàng),則將登錄名和密碼(加密后)存入本地緩存,下次登錄頁(yè)面加載時(shí)自動(dòng)獲取保存好的賬號(hào)和密碼(需解密),回顯到登錄輸入框中,下面分享我實(shí)現(xiàn)的具體步驟,需要的朋友可以參考下
    2022-07-07
  • Vue可左右滑動(dòng)按鈕組組件使用詳解

    Vue可左右滑動(dòng)按鈕組組件使用詳解

    這篇文章主要為大家詳細(xì)介紹了基于Vue可左右滑動(dòng)按鈕組組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • vue項(xiàng)目中請(qǐng)求數(shù)據(jù)特別多導(dǎo)致頁(yè)面卡死的解決

    vue項(xiàng)目中請(qǐng)求數(shù)據(jù)特別多導(dǎo)致頁(yè)面卡死的解決

    這篇文章主要介紹了vue項(xiàng)目中請(qǐng)求數(shù)據(jù)特別多導(dǎo)致頁(yè)面卡死的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue?實(shí)現(xiàn)動(dòng)態(tài)設(shè)置元素的高度

    vue?實(shí)現(xiàn)動(dòng)態(tài)設(shè)置元素的高度

    這篇文章主要介紹了在vue中實(shí)現(xiàn)動(dòng)態(tài)設(shè)置元素的高度,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 使用Vue實(shí)現(xiàn)帶拖動(dòng)和播放功能的時(shí)間軸

    使用Vue實(shí)現(xiàn)帶拖動(dòng)和播放功能的時(shí)間軸

    這篇文章主要為大家詳細(xì)介紹了如何使用Vue實(shí)現(xiàn)帶拖動(dòng)和播放功能的時(shí)間軸,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Vue頂部tags瀏覽歷史的實(shí)現(xiàn)

    Vue頂部tags瀏覽歷史的實(shí)現(xiàn)

    在管理系統(tǒng)中,常常需要在頂部tags顯示瀏覽歷史。本文將教大家如何通過(guò)Vue實(shí)現(xiàn)這一功能,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2021-12-12
  • Vue清除定時(shí)器setInterval優(yōu)化方案分享

    Vue清除定時(shí)器setInterval優(yōu)化方案分享

    這篇文章主要介紹了Vue清除定時(shí)器setInterval優(yōu)化方案分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • 淺談vue項(xiàng)目用到的mock數(shù)據(jù)接口的兩種方式

    淺談vue項(xiàng)目用到的mock數(shù)據(jù)接口的兩種方式

    這篇文章主要介紹了淺談vue項(xiàng)目用到的mock數(shù)據(jù)接口的兩種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • vue element upload組件 file-list的動(dòng)態(tài)綁定實(shí)現(xiàn)

    vue element upload組件 file-list的動(dòng)態(tài)綁定實(shí)現(xiàn)

    這篇文章主要介紹了vue element upload組件 file-list的動(dòng)態(tài)綁定實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • vue中keepAlive組件的作用和使用方法詳解

    vue中keepAlive組件的作用和使用方法詳解

    vue里提供了keep-alive組件用來(lái)緩存狀態(tài),這篇文章主要給大家介紹了關(guān)于vue中keepAlive組件的作用和使用方法的相關(guān)資料,需要的朋友可以參考下
    2021-07-07

最新評(píng)論