午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

Vue項目中數據的深度監聽或對象屬性的監聽實例

瀏覽:68日期:2023-01-06 15:05:22

眾所周知,vue項目中對數據的監聽,提供了一個很好的鉤子watch,watch可以極其方便的監聽我們常用數據類型值的變化,但通常當我們想監聽一個對象中,某個屬性值的變化時,很難達到我們預期的效果。根據vue的文檔,不難發現,使用數據的深度監聽來達到這一效果。具體實現如下:

watch: { evlist: { handler(val, oldVal) { this.isTeam = val.projectParty; this.pjtid = val.pjtid; this.isFinish = val.projectSelfValue; }, deep: true }, },

這其中,evlist是一個對象,val監聽到變化后的值,oldVal是變化前的值。

補充知識:vue中的監聽屬性和計算屬性

計算屬性(computed)

vue中的計算屬性是非常棒的東西,它兼具了邏輯和變量??梢宰屛覀儾辉訇P注視圖層,值關注代碼的邏輯即可。至于數據如何展現則只需由Vue負責,不需要我們的參與。

所以如果在面臨選擇是使用計算屬性還是監視屬性的情況下,優先選擇計算屬性

<p>Original message: '{{ message }}'</p> <p>Computed reversed message: '{{ reversedMessage }}'</p></div>export default { data(){ return { message: ’Hello’, } }, computed: { reversedMessage: function () { return this.message.split(’’).reverse().join(’’); } }

可以看到我們使用的計算屬性替代了模板內表達式的功能。所以,對于任何復雜邏輯,你都應當使用計算屬性。而且計算屬性讓我們只關注于邏輯實現,至于后期的數據在界面上的表示形式則直接由Vue.js負責,讀者可以看到我們并沒有直接參與頁面展示上面來

此外,傳統的直接通過表達式求值的方式需要我們自行取值,而計算屬性是基于它們的依賴進行緩存的。只在相關依賴發生改變時它們才會重新求值。也就是說,計算屬性會直接從緩存拿值,并伴隨著值的改變而改變。而傳統的直接通過表達式求值的方式需要我們在拿值之前需要執行一次getter()函數

監聽屬性(watch)

監聽屬性其實質是一次異步回調,希望讀者在想到使用監聽屬性之前多考慮能否采用計算屬性來取代監聽屬性

對比同一個功能實現

//計算屬性computed: { fullName2: function () { return this.firstName + ’ ’ + this.lastName }}//監聽屬性watch: { firstName: function (val) { this.fullName = val + ’ ’ + this.lastName }, lastName: function (val) { this.fullName = this.firstName + ’ ’ + val }}

可以看到計算屬性的代碼更加簡潔也更加高效,而且就實現效果而言,明顯計算屬性會更好一點

以上這篇Vue項目中數據的深度監聽或對象屬性的監聽實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 有码在线播放 | a级一级黄色片 | 色综合天天综合综合国产 | 亚洲综合av网 | 97在线观| 国产精品一区在线免费观看 | aav在线 | 一级视频在线观看 | 国产精品丝袜黑色高跟 | 国产网曝门 | 午夜激情在线观看 | 天天操天天操天天操天天操天天操 | 日韩中文欧美 | 欧美黄色a级片 | 国产在线一二三 | 久久久久久久国产 | 欧美在线三级 | 日韩免费在线观看视频 | 日本一二三不卡视频 | 五月综合久久 | 日韩在线毛片 | 黄色片网站国产 | 国产黄免费 | 艳妇乳肉亭妇荡乳av | 日韩中文字幕国产 | 成人a免费 | 日本a级c片免费看三区 | 蜜臀av一区二区三区有限公司 | 亚洲精品欧洲精品 | 亚洲精品白浆高清久久久久久 | 亚洲精品在线观看网站 | 国产无遮挡又黄又爽又色视频 | 黄p在线观看 | 亚洲一区二区三区四区在线观看 | av亚洲在线 | 黄网在线视频 | 亚洲视频黄| 日韩久久高清 | 成人不卡视频 | 国产黄色免费网站 | 亚洲国产伦理 |