溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue數(shù)據(jù)更新UI不刷新顯示的解決辦法

發(fā)布時(shí)間:2020-09-15 04:37:04 來(lái)源:腳本之家 閱讀:962 作者:顯示有誤 欄目:開(kāi)發(fā)技術(shù)

vue比較常見(jiàn)的坑就是數(shù)據(jù)(后臺(tái)返回)更新了,但是UI界面并沒(méi)有更新,常見(jiàn)于以下情況:

一、數(shù)據(jù)為數(shù)組時(shí)

1.通過(guò)數(shù)組索引修改數(shù)組元素例如:

vue數(shù)據(jù)更新UI不刷新顯示的解決辦法

此時(shí)UI數(shù)據(jù)并不會(huì)刷新

2.修改數(shù)組長(zhǎng)度時(shí):

vue數(shù)據(jù)更新UI不刷新顯示的解決辦法

解決方案:

vue數(shù)據(jù)更新UI不刷新顯示的解決辦法

如果data為JSON數(shù)組則如下:

vue數(shù)據(jù)更新UI不刷新顯示的解決辦法

第一個(gè)參數(shù)為要更新數(shù)據(jù)的數(shù)組,第二個(gè)參數(shù)為要更新的數(shù)組中具體的元素下標(biāo),第三個(gè)參數(shù)為新數(shù)據(jù)

備注:

數(shù)組原型上的方法vue可直接檢測(cè)到變化:push(),pop(),shift(),unshift(),splice(),sort()

二、數(shù)據(jù)為對(duì)象時(shí):

Vue 不能檢測(cè)對(duì)象屬性的添加或刪除:你可以這樣添加一個(gè)屬性

vue數(shù)據(jù)更新UI不刷新顯示的解決辦法

如果要添加多個(gè)屬性可以

vue數(shù)據(jù)更新UI不刷新顯示的解決辦法

補(bǔ)充知識(shí):vue computed計(jì)算屬性和watch監(jiān)聽(tīng)屬性解疑答惑

computed計(jì)算屬性

計(jì)算屬性類似于方法,用于輸出data中定義的屬性數(shù)據(jù)的結(jié)果,data數(shù)據(jù)變化時(shí),計(jì)算屬性的結(jié)果會(huì)同步變化,需要注意的是計(jì)算屬性不可與data定義的屬性同名。

相比于方法它的優(yōu)勢(shì)是只有當(dāng)依賴的屬性變化時(shí),才會(huì)重新計(jì)算。而方法會(huì)在每次重新render的時(shí)候都會(huì)執(zhí)行,因此計(jì)算屬性相比方法性能明顯更高,而且計(jì)算屬

性可直接綁定在v-model屬性上。計(jì)算屬性還提供get和set方法進(jìn)行讀寫(xiě)操作。

vue數(shù)據(jù)更新UI不刷新顯示的解決辦法

watch方法

一旦監(jiān)聽(tīng)了data中的屬性,只要data數(shù)據(jù)變化了會(huì)立即觸發(fā)watch方法,watch方法不僅可以監(jiān)聽(tīng)變量,還可以監(jiān)聽(tīng)對(duì)象里的某個(gè)屬性,甚至是數(shù)組里的某個(gè)元素

html:

vue數(shù)據(jù)更新UI不刷新顯示的解決辦法

javascript:

vue數(shù)據(jù)更新UI不刷新顯示的解決辦法

以上這篇vue數(shù)據(jù)更新UI不刷新顯示的解決辦法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI