vue數(shù)據(jù)更新但視圖(DOM)不刷新的幾種解決辦法
更新時間:2023年08月23日 08:31:42 作者:前端小卡車
這篇文章主要給大家介紹了關(guān)于vue數(shù)據(jù)更新但視圖(DOM)不刷新的幾種解決辦法,我們在開發(fā)過程中經(jīng)常會碰到數(shù)據(jù)更新,但是視圖并未改變的情況,需要的朋友可以參考下
第一種:強(qiáng)制更新dom
<div v-if="isTrue">{{num}}</div> data(){ return { isTrue: true, num: 0 } } aa () { this.isTrue = false // 強(qiáng)制刷新視圖 this.num++ this.isTrue = true // 強(qiáng)制刷新視圖 }
第二種:vue.$set(要操作的對象或數(shù)組, 對象key/索引, 修改后的值)
// vue.$set 修改對象或數(shù)組的數(shù)據(jù)主要是添加響應(yīng)式getter和setter讓其擁有數(shù)據(jù)響應(yīng)的特性 // this.$set( target, propertyName/index, value ) // vue 中this及vue // 例子1: 比如修改name值沒有生效 this.form.name = "111" // 等同于 ==> const name = "111" this.$set(this.form, 'name', '111') // 或 this.$set(this.form, 'name', name) // 例子2:修改數(shù)組 let arr =[{name: "name1", sex: "男"},{name: "name2", sex: "男"}] this.$set(arr, 1, {name: "name2", sex: "女"})
第三種: vue.$forceUpdate()
// 賦值之后強(qiáng)制更新視圖 如 aa () { this.form = { a: 'a', b: 'b' } // 但是dom沒有發(fā)生變化 數(shù)據(jù)賦值之后加上 this.$forceUpdate() }
總結(jié)
到此這篇關(guān)于vue數(shù)據(jù)更新但視圖(DOM)不刷新的幾種解決辦法的文章就介紹到這了,更多相關(guān)vue數(shù)據(jù)更新視圖不刷新內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mpvue中配置vuex并持久化到本地Storage圖文教程解析
這篇文章主要介紹了mpvue中配置vuex并持久化到本地Storage的教程詳解,# 配置vuex和在vue中相同,只是mpvue有一個坑,就是不能直接在new Vue的時候傳入store。本文分步驟給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-03-03vue使用ElementUI時導(dǎo)航欄默認(rèn)展開功能的實(shí)現(xiàn)
這篇文章主要介紹了vue使用ElementUI時導(dǎo)航欄默認(rèn)展開功能的實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07