Vue學習筆記高階篇之多元素及多元件過渡

2022-10-08 04:54:10 字數 1538 閱讀 1803

本文介紹了vue 多元素及多元件過渡,這個地方知識點www.cppcns.com挺多的,而且很重要,所以,今天新增一點小筆記。

多元素的過渡

對於原生標籤可以使用v-if/v-else.但是有一點需要注意:

當有相同標籤名的元素切換時,需要通過 key 特性設定唯一的值來標記以讓 vue 區分它們,否則 vue 為了效率只會替換相同標籤內部的內容。即使在技術上沒有必要,給在 元件中的多個元素設定 key 是乙個更好的實踐。

示例:

在一些場景中,也可以給通過給同乙個元素的 key特性設定不同的狀態來代替v-if和 v-else,上面的例子可以重寫為:

使用多個 v-if 的多個元素的過渡可以重寫為繫結了動態屬性的單個元素過渡。 例如:

cancel

可以重寫為:

computed: zzrrbvjgw

}}過渡模式

在元素之間的過渡中,還存在乙個問題:兩個元素都被重繪了,乙個離開過渡的時候另乙個開始進入過渡。這是 的預設行為 - 進入和離開同時發生。

有一種最原始的解決方法就是,在元素絕對定位在彼此之上的時候執行正常。

還有一種方法就是使用vue 提供的過渡模式.

用 out-in重寫之前的開關按鈕過渡:

多元素過渡的例子

v-if和v-else的絕對定位例項

.my-div

.btn

.fade-enter-active, .fade-le**e-active

.fade-enter, .fade-le**e-to

new vue(

})多個v-if的例子

class="btn" :key="key" >}

.my-div

.btn

.fade-enter-active, .fade-le**e-active

.fade-enter, .fade-le**e-to

var app = new vue(,

computed:

}}})

這裡我沒有做對app.key的值的控制,所以想看過渡效果的話,可以在控制台裡修改app.key的值。

過渡模式的例子

.fade-enter-active, .fade-le**e-active

.fade-enter, .fade-le**e-to

new vue(

})多元件過渡

多個元件的過渡簡單很多 - 我們不需要使用 key 特性。相反,我們只需要使用動態元件,情況一下例子:

.fade-enter-active, .fade-le**e-active

.fade-enter, .fade-le**e-to

var app = new vue(,

components:,

'v-b':,

}})在控制台中修改app.view的值便可看到過渡效果。

以上示例中的過渡動畫,都可以自己定義,也可以使用上一節提到的自定義class已經鉤子函式等,在這裡就不做詳細介紹了。

本文標題: vue學習筆記高階篇之多元素及多元件過渡

本文位址:

Vue學習筆記 高階篇

乙個簡單的元件 button counter button counter div body 定義乙個名為 button counter 的新元件 vue.component button counter 如果不用return寫 count 0 則各個部件間會互相影響!template you cl...

Vue 學習筆記 路由篇

官網 安裝外掛程式 npm install vue router安裝完之後在package.json裡面檢視版本 1 首先新建要跳轉的vue檔案 在src component裡面新建乙個about.vue檔案 template div class container p this is about ...

ts 學習筆記 高階篇 1

目錄列舉 型別別名用來給乙個型別起個新名字 type name string type nameresolver string type nameorresolver name nameresolver function getname n nameorresolver name else 上例中,...