在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue怎么強制刷新DOM

vue怎么強制刷新DOM

點擊頁面的按鈕,操作樹形表格的全部展開,但是現(xiàn)在是傳過去的數(shù)據(jù)被改變了,但是dom沒有改變,但是手動刷新的時候,又可以改變的,想求一個刷新自動刷新DOM的方法,或者別的解決方案

data(){
    return {
            treeAll:false,
        }
}
methods:{
    //    點擊按鈕展開所有的樹形節(jié)點
    treeAllData(){
        this.treeAll=true
    }
}
回答
編輯回答
扯機薄
  1. 傳過去的數(shù)據(jù)被改變了這個是從哪里觀測到的。
  2. 開發(fā)模式,看devtools中子組件內(nèi)的props對應(yīng)的值是否隨著你的操作自動更新了,沒有的話說明的確沒有被vue監(jiān)測到,那可能就是哪里做了不必要的操作。

你示例里的代碼不該發(fā)生這種問題。

2018年1月7日 20:54
編輯回答
她愚我

vue上一般不推薦使用強制刷新,問題應(yīng)該出在你其中哪個地方的傳值或者異步上,你可以代碼貼全一點再進行分析?

2017年11月10日 10:18
編輯回答
殘淚

vue應(yīng)該不需要強制刷新,數(shù)據(jù)是自動更新到dom中的,估計你傳值有問題吧

2017年9月28日 18:23
編輯回答
執(zhí)念

你是通過路由傳的值?

2017年12月14日 01:25
編輯回答
悶油瓶

你這個值是自己組件改變還是其他組件傳過來的

2018年7月16日 07:10
編輯回答
孤島

如果treeAll的值改變的話DOM不應(yīng)該不會變,建議你把treeAll打印在頁面上看看點擊按鈕時有沒有變化

2018年1月10日 18:27
編輯回答
爛人

思路,先銷毀dom再重新創(chuàng)建:

    <div v-if="!inResize">

......

    </div>

js:

                this.inResize = true;
                Vue.nextTick(t => {
                    this.inResize = false;
                })
2017年1月28日 12:06