vue中的計(jì)算屬性和偵聽(tīng)屬性
計(jì)算屬性
計(jì)算屬性用于處理復(fù)雜的業(yè)務(wù)邏輯
計(jì)算屬性具有依賴性,計(jì)算屬性依賴 data中的初始值,只有當(dāng)初始值改變的時(shí)候,計(jì)算屬性才會(huì)再次計(jì)算
計(jì)算屬性一般書(shū)寫(xiě)為一個(gè)函數(shù),返回了一個(gè)值,這個(gè)值具有依賴性,只有依賴的那個(gè)值發(fā)生改變,他才會(huì)重新計(jì)算
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>表單輸入綁定</title> </head> <body> <div id="app"> {{ reverseMsg }}---- {{ reverseMsg }}-------- {{ reverseMsg }} //直接使用計(jì)算屬性中的函數(shù)就是所要的數(shù)據(jù) </div> </body> <script src="vue.js"></script> //vue的js,不然使用不了vue語(yǔ)法 <script> const app = new Vue({ el: '#app', data: { msg: 'hello world' }, computed: { reverseMsg () { // 計(jì)算屬性是一個(gè)函數(shù),返回一個(gè)值,使用和data中的選項(xiàng)一樣 console.log('computed') // 執(zhí)行1次 --- 依賴性 return this.msg.split('').reverse().join(''); } } }) </script> </html>
偵聽(tīng)屬性(監(jiān)聽(tīng)屬性)
vue提供了檢測(cè)數(shù)據(jù)變化的一個(gè)屬性 watch 可以通過(guò) newVal 獲取變化之后的值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>表單輸入綁定</title> </head> <body> <div id="app"> <input type="text" v-model="firstname"> + <input type="text" v-model="lastname"> = {{ fullname }} </div> </body> <script src="vue.js"></script> <script> const app = new Vue({ el: '#app', data: { firstname: '李', lastname: '小龍', fullname: '李小龍' }, watch: { // 偵聽(tīng)屬性 firstname (newVal, oldVal) { // newVal變化之后的值 this.fullname = newVal + this.lastname // 當(dāng)改變 姓 的時(shí)候執(zhí)行 }, lastname (newVal, oldVal) { this.fullname = this.firstname + newVal // 當(dāng)改變 名字 的時(shí)候執(zhí)行 } } }) </script> </html>
以上就是vue中的計(jì)算屬性和偵聽(tīng)屬性的詳細(xì)內(nèi)容,更多關(guān)于vue 計(jì)算屬性和偵聽(tīng)屬性的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解使用VueJS開(kāi)發(fā)項(xiàng)目中的兼容問(wèn)題
這篇文章主要介紹了詳解使用VueJS開(kāi)發(fā)項(xiàng)目中的兼容問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08el-date-picker默認(rèn)結(jié)束為當(dāng)前時(shí)分秒的操作方法
在element?ui中的日期時(shí)間選擇組件中默認(rèn)是00:00,現(xiàn)在需求是點(diǎn)擊默認(rèn)結(jié)束時(shí)間為當(dāng)前時(shí)分秒,查了很多資料寫(xiě)的都不準(zhǔn)確?,今天給大家分享el-date-picker默認(rèn)結(jié)束為當(dāng)前時(shí)分秒的操作方法,感興趣的朋友一起看看吧2024-01-01vue添加錨點(diǎn),實(shí)現(xiàn)滾動(dòng)頁(yè)面時(shí)錨點(diǎn)添加相應(yīng)的class操作
這篇文章主要介紹了vue添加錨點(diǎn),實(shí)現(xiàn)滾動(dòng)頁(yè)面時(shí)錨點(diǎn)添加相應(yīng)的class操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08基于Vue3實(shí)現(xiàn)前端埋點(diǎn)上報(bào)插件并打包發(fā)布到npm的詳細(xì)過(guò)程
這篇文章主要介紹了基于Vue3實(shí)現(xiàn)一個(gè)前端埋點(diǎn)上報(bào)插件并打包發(fā)布到npm,本項(xiàng)目采用pnpm進(jìn)行Monorepo環(huán)境搭建,因?yàn)槲磥?lái)這個(gè)項(xiàng)目可能會(huì)加入更多的工具包,需要的朋友可以參考下2022-10-10配置vite.confgi.ts無(wú)法使用require問(wèn)題以及解決
這篇文章主要介紹了配置vite.confgi.ts無(wú)法使用require問(wèn)題以及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05vue3?圖片懶加載的兩種方式、IntersectionObserver和useIntersectionObserve
這篇文章主要介紹了vue3?圖片懶加載的兩種方式、IntersectionObserver和useIntersectionObserver實(shí)例詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03Vue項(xiàng)目中token驗(yàn)證登錄(前端部分)
這篇文章主要為大家詳細(xì)介紹了Vue項(xiàng)目中token驗(yàn)證登錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08vue3+ts封裝axios實(shí)例以及解決跨域問(wèn)題
在前端開(kāi)發(fā)中,使用axios進(jìn)行數(shù)據(jù)請(qǐng)求是常見(jiàn)的做法,封裝axios可以統(tǒng)一請(qǐng)求頭處理、方便接口管理、配置多攔截器等,提高代碼的可維護(hù)性和重用性,本文詳細(xì)記錄了axios的封裝過(guò)程,包括安裝、配置跨域處理、接口管理文件的創(chuàng)建等2024-09-09解決vite項(xiàng)目Uncaught Syntaxerror:Unexpected token>vue項(xiàng)
這篇文章主要介紹了解決vite項(xiàng)目Uncaught Syntaxerror:Unexpected token>vue項(xiàng)目上線白屏問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03