vue數(shù)據(jù)更新但視圖(DOM)不刷新的幾種解決辦法
更新時(shí)間:2023年08月23日 08:31:42 作者:前端小卡車
這篇文章主要給大家介紹了關(guān)于vue數(shù)據(jù)更新但視圖(DOM)不刷新的幾種解決辦法,我們?cè)陂_發(fā)過程中經(jīng)常會(huì)碰到數(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(要操作的對(duì)象或數(shù)組, 對(duì)象key/索引, 修改后的值)
// vue.$set 修改對(duì)象或數(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vscode不支持nvue語(yǔ)法高亮的解決辦法(圖文詳解)
這篇文章主要介紹了vscode不支持nvue語(yǔ)法高亮的解決辦法,用vscode開發(fā)uniapp會(huì)遇到用.nvue開發(fā)的時(shí)候。但是vscode并沒有提供.nvue的語(yǔ)法高亮,這篇文章給剛用vscode寫.nvue的讀者,需要的朋友可以參考下2023-02-02apache和nginx下vue頁(yè)面刷新404的解決方案
這篇文章主要介紹了apache和nginx下vue頁(yè)面刷新404的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12mpvue中配置vuex并持久化到本地Storage圖文教程解析
這篇文章主要介紹了mpvue中配置vuex并持久化到本地Storage的教程詳解,# 配置vuex和在vue中相同,只是mpvue有一個(gè)坑,就是不能直接在new Vue的時(shí)候傳入store。本文分步驟給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-03-03vue使用ElementUI時(shí)導(dǎo)航欄默認(rèn)展開功能的實(shí)現(xiàn)
這篇文章主要介紹了vue使用ElementUI時(shí)導(dǎo)航欄默認(rèn)展開功能的實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07