最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue2?element-ui?el-checkbox視圖不更新問題及解決

 更新時間:2024年12月26日 11:08:04   作者:木有名字就是最好的名字  
作者在開發(fā)過程中遇到了視圖不更新的問題,最終通過改變一個無關(guān)緊要的響應(yīng)式數(shù)據(jù)來解決,讓視圖發(fā)生改變

vue2 element-ui el-checkbox視圖不更新

今天在開發(fā)過程發(fā)現(xiàn)一個問題,如標(biāo)題所描述的,我在更改了data(){return{}}里的數(shù)據(jù)后, 也就是對 el-checkbox 的 v-model 綁定了一個 data() 里面的數(shù)據(jù),與之對應(yīng)的視圖沒有發(fā)生變化

我之所以 斷定 我data() 里的數(shù)據(jù)發(fā)生了變化,而視圖沒有發(fā)生變化,是因為 在chrome 的 插件 vue devtools 中 確認(rèn)了 data() 數(shù)據(jù)是發(fā)生了改變, 也就證明el-checkbox 的v-model綁定的boolean 值發(fā)生了改變,此時視圖應(yīng)該 按照 v-model="false" ==> v-model="true" 從 未勾選狀態(tài)==>勾選狀態(tài) 但是 頁面一直沒有更新。

在確認(rèn)自己不是因為低級錯誤而導(dǎo)致的 視圖不更新后, 對該問題進(jìn)行了 不同的處理

1: 百度: 使用 $set() 、使用froceUpdate() 這兩者都不起作用

既然 已經(jīng)明確了 數(shù)據(jù)是發(fā)生了變化,依賴數(shù)據(jù)的視圖沒有發(fā)生改變, 那么 可以通過 較為偏激的方法 用v-if="true" / v-if="false" 的方法 將組件銷毀再重新掛載, (此種方法過于 偏激,而且相對另類 不推薦使用)

既然有通過 v-if 的方法 強(qiáng)行讓 元素重新渲染,那么 是否可以利用 vue 的一些特性進(jìn)行類似的操作呢?

我個人觀點(diǎn)

vue 響應(yīng)式 可以通過 數(shù)據(jù)驅(qū)動頁面的更新 加上 diff算法, 可以試著給 el-checkbox 組件 一個 無關(guān)緊要的屬性

例如 :

data-xxx=“響應(yīng)式數(shù)據(jù)” 通過更改 該響應(yīng)式數(shù)據(jù) 讓vue 在進(jìn)行diff算法中,發(fā)現(xiàn)虛擬Dom el-checkbox 的其中一個 data-xxx 屬性發(fā)生變化,從而 讓其觸發(fā)該組件的 渲染,以達(dá)到 v-model 綁定的值改變 所對應(yīng)的 視圖發(fā)生變化。

  • 例子:
<el-checkbox v-model="list[index].obj[value].checked" :data-a="checked">
  • 偽代碼:
function changeValue(){
// 將 list[index].obj[value].checked 為 false 改為 true

this.list[index].obj[value].checked = true // 此時視圖 并沒有因為 數(shù)據(jù)的變化 而 從 未勾選變成勾選狀態(tài)

// 更改一個 無關(guān)緊要的 數(shù)值
this.checked = !this.checked // 此處 無論checked 是什么 都不影響 目的是讓vue 去重新渲染 el-checkbox 這個組件

}

總結(jié)

其實(shí)在一般的vue 開發(fā)中,如果 響應(yīng)式數(shù)據(jù) 不是那種 非常復(fù)雜的數(shù)據(jù)類型一般不會出現(xiàn)響應(yīng)式數(shù)據(jù)變化而視圖不更行的情況,

但 上述例子中 list是一個數(shù)組,數(shù)組里面有多個屬性,其中一個屬性為一個對象,而我們需要改變的值就是這個對象的其中一個屬性, 可能 在vue 的雙向綁定中,

由于 list 是一個相對復(fù)雜的數(shù)據(jù)類型,當(dāng)深層次里的屬性發(fā)生了 改變, vue沒法做到 數(shù)據(jù)驅(qū)動 視圖更新,

當(dāng)我們非常確認(rèn)數(shù)據(jù)已經(jīng)更新了, 僅僅是視圖沒有發(fā)生變化,此時 要做的就是 能讓 視圖發(fā)生改變的操作 通過改變一個無關(guān)緊要的 響應(yīng)式數(shù)據(jù) 從而 讓 組件進(jìn)行 重新渲染操作 無疑是一個 不錯的 解決方案

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue如何使用 Slot 分發(fā)內(nèi)容實(shí)例詳解

    vue如何使用 Slot 分發(fā)內(nèi)容實(shí)例詳解

    本篇文章主要介紹了vue如何使用 Slot 分發(fā)內(nèi)容實(shí)例詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue混入使用和選項合并詳解

    Vue混入使用和選項合并詳解

    這篇文章主要介紹了Vue混入使用和選項合并,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-10-10
  • Vue.js實(shí)現(xiàn)的計算器功能完整示例

    Vue.js實(shí)現(xiàn)的計算器功能完整示例

    這篇文章主要介紹了Vue.js實(shí)現(xiàn)的計算器功能,結(jié)合完整實(shí)例形式分析了vue.js響應(yīng)鼠標(biāo)事件實(shí)現(xiàn)基本的數(shù)值運(yùn)算相關(guān)操作技巧,可實(shí)現(xiàn)四則運(yùn)算及乘方、開方等功能,需要的朋友可以參考下
    2018-07-07
  • 使用element upload上傳組件如何去掉刪除按鈕

    使用element upload上傳組件如何去掉刪除按鈕

    這篇文章主要介紹了使用element upload上傳組件如何去掉刪除按鈕
    2023-07-07
  • 解決VueCil代理本地proxytable無效報錯404的問題

    解決VueCil代理本地proxytable無效報錯404的問題

    這篇文章主要介紹了解決VueCil代理本地proxytable無效報錯404的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue如何使用文件流進(jìn)行下載(new Blob)

    vue如何使用文件流進(jìn)行下載(new Blob)

    這篇文章主要介紹了vue如何使用文件流進(jìn)行下載(new Blob),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue中如何獲取當(dāng)前路由name

    vue中如何獲取當(dāng)前路由name

    這篇文章主要介紹了vue中如何獲取當(dāng)前路由name,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue使用JSON編輯器:vue-json-editor詳解

    vue使用JSON編輯器:vue-json-editor詳解

    文章介紹了如何在Vue項目中使用JSON編輯器插件`vue-json-editor`,包括安裝、引入、注冊和使用示例,通過這些步驟,用戶可以在Vue應(yīng)用中輕松實(shí)現(xiàn)JSON數(shù)據(jù)的編輯功能,文章最后呼吁大家支持腳本之家
    2025-01-01
  • 利用nodeJS+vue圖片上傳實(shí)現(xiàn)更新頭像的過程

    利用nodeJS+vue圖片上傳實(shí)現(xiàn)更新頭像的過程

    Vue是一套構(gòu)建用戶界面的框架,最近工作中遇到了一個需求,需要做一個更新頭像的通能,下面這篇文章主要給大家介紹了關(guān)于利用nodeJS+vue圖片上傳的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • vue-cli V3.0版本的使用詳解

    vue-cli V3.0版本的使用詳解

    這篇文章主要介紹了vue-cli V3.0版本的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10

最新評論

江陵县| 水富县| 读书| 丰原市| 沙湾县| 攀枝花市| 宁乡县| 门源| 麻栗坡县| 铁力市| 肇庆市| 武威市| 桐城市| 洪雅县| 陆川县| 墨脱县| 积石山| 仙居县| 鄄城县| 蒙阴县| 宁都县| 天祝| 东源县| 内乡县| 开远市| 扬中市| 吉水县| 石首市| 滦平县| 石阡县| 凤阳县| 临沭县| 桂林市| 关岭| 扶绥县| 高碑店市| 京山县| 龙南县| 婺源县| 桓台县| 准格尔旗|