在頁(yè)面中顯示數(shù)組數(shù)據(jù)時(shí)發(fā)現(xiàn)了一個(gè)問(wèn)題,當(dāng)在methods方法中修改數(shù)組數(shù)據(jù)后,雖然數(shù)組已經(jīng)發(fā)生改變,但是改變后的數(shù)據(jù)并沒(méi)有渲染到頁(yè)面上。這是因?yàn)樵赩UE中,如果在實(shí)例創(chuàng)建之后添加新的屬性或者改變屬性到實(shí)例上,它將不會(huì)觸發(fā)視圖更新。
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到塔城網(wǎng)站設(shè)計(jì)與塔城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋塔城地區(qū)。
而Vue.set()方法能夠確保響應(yīng)式對(duì)象被創(chuàng)建后仍然是響應(yīng)式的,同時(shí)觸發(fā)視圖更新,動(dòng)態(tài)響應(yīng)數(shù)據(jù)的變化。
用法如下:
Vue.set(object,index,value)
object:要更改的數(shù)據(jù)源(數(shù)組或?qū)ο螅?/p>
index:數(shù)據(jù)的索引(第幾項(xiàng))
value:修改后的值
實(shí)例
小五
該頁(yè)面的考勤情況數(shù)據(jù)來(lái)源于一個(gè)數(shù)組,點(diǎn)擊以后,考勤情況將會(huì)發(fā)生改變。
data(){ return{ id:1, state:['未知','未知','未知','未知','未知','未知','未知','未知','未知'] } }, methods:{ attence:function(num){ if(this.state[num]=='未知'){ Vue.set(this.state,num,'出勤'); } else if(this.state[num]=='出勤'){ Vue.set(this.state,num,'請(qǐng)假'); } else if(this.state[num]=='請(qǐng)假'){ Vue.set(this.state,num,'缺勤'); } else if(this.state[num]=='缺勤'){ Vue.set(this.state,num,'未知'); } } }
在這段代碼中,數(shù)組中的數(shù)據(jù)初始值全都是未知,點(diǎn)擊按鈕以后,attence()方法會(huì)根據(jù)傳入的參數(shù)改變數(shù)組中的值,傳入的參數(shù)是幾就改變第幾項(xiàng)的數(shù)據(jù)。頁(yè)面將會(huì)及時(shí)對(duì)數(shù)據(jù)變化作出響應(yīng),渲染出來(lái)。
注:該方法也可用來(lái)增加數(shù)據(jù),只需將第二項(xiàng)的索引值賦為數(shù)組的長(zhǎng)度,第三項(xiàng)為增加的數(shù)據(jù)值。
以上這篇使用Vue.set()方法實(shí)現(xiàn)響應(yīng)式修改數(shù)組數(shù)據(jù)步驟就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。