在使用vue.js開發時遇到共用乙個元件,資料相同,只是展示的內容不同。但是在每次切換時,必須執行dom更新。 如果你遇到這個問題時,可以試試在切換時 使用 v-if 來判斷,官方文件中說是:
v-if 「真正」的條件渲染,因為它會確保在切換過程中條件塊內的事件***和子元件適當地被銷毀和重建。
v-if 也是惰性的:如果在初始渲染時條件為假,則什麼也不做——直到條件第一次變為真時,才會開始渲染條件塊。
v-if
'false | true'
>
....
<
/div>官方文件 v-if
$set:如果元件中的變數改變更新dom:
例如:元件中form.user物件,發生改變需要更新dom,可以使用
this
.$set
(this
.form,
'user'
,'xiaoming'
)
官方文件 $set
3.$nexttick:在進入頁面時,無法獲取dom節點元素:
當第一次進入頁面時,無法獲取dom節點元素,可以嘗試新增 $nexttick
function
init()
)}
官方文件 $nexttick
4.元件的key,當你以上方法都無法實現dom更新,可以嘗試修改元件的key
定義元件 demo
....
<
/div>
<
/template>
呼叫元件
/* 因為每次生成的key都不一樣,當vue的虛擬dom在渲染時
發現元件當前key與以前的key不一致,就把它當成新的元件進行渲染,
如果key一致則直接復用,元件不會被重新渲染。
*/'loadkey'
>
....
<
/demo>
<
/template>
import demo from
'./demo'
export
default
data()
},methods:}}
<
/script>
如果本文對你有幫助,請大佬打賞,謝謝
實現同乙個使用者只能有乙個登入
1.在登入系統時,得到username 資料庫唯一 宣告個map key為username value 為sessionid 並放入快取中。2.寫乙個filter 類 每次請求 用username 從快取 的map裡 取出sessionid 如果不一致。remove 當時的sessionid 3.登...
vue在同乙個頁面重複引用相同元件如何區分二者
1.使用情境 我在同乙個vue中引用了同樣的乙個圖層選擇的元件,需要區分二者的選擇的radio值,如果不做區分,這二者選擇的radio值看上去將會一樣 2.解決方法 先說原理,這個重複引用的元件雖然一樣,但是二者在被建立的時候各自走了一遍生命週期,所以變數之間不衝突。首先在引用元件中新增乙個prop...
Vue在同乙個頁面的元件中向頁面的URL增加引數
場景復現 在vue中使用多個元件 模組 的時候,需要動態的去改變url的引數,以便保證使用者重新整理的同時,依然停留在當前訪問的地方,且頁面不會過載 重新整理。const query this.route let path query.path let query query.query 這裡可以用...