老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

在Vue中如何創建可重用的Transition的代碼實例

這篇文章主要講解了在Vue中如何創建可重用的Transition的代碼實例,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

為上栗等地區用戶提供了全套網頁設計制作服務,及上栗網站建設行業解決方案。主營業務為成都網站設計、成都做網站、上栗網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

Vue.js中的transition確實很棒。毫無疑問,它們可以非常輕松地讓應用程序栩栩如生,但是通常必須在每個項目中從頭開始編寫它們,甚至還需要引入animate.css之類的CSS庫來使它們功能更強大。

如果我們可以將它們封裝到組件中,并在多個項目中簡單地重用它們,結果會怎樣呢?我們將介紹幾種定義transition的方法,并深入研究如何使它們真正可重用。

在Vue中如何創建可重用的Transition的代碼實例

原始transition組件和CSS

定義transition的最簡單方法是使用transition·或transition-group組件。這需要為transition定義一個name`和一些CSS。

 
 
 
在Vue中如何創建可重用的Transition的代碼實例

看起來容易,對吧?然而,這種方法有一個問題。我們不能在另一個項目中真正重用這個transition。

封裝transition組件

如果我們將前面的邏輯封裝到一個組件中,并將其用作一個組件,結果會怎樣呢?

// FadeTransition.vue 
 
 
 
 
// App.vue 
 
 
 
 

在Vue中如何創建可重用的Transition的代碼實例

通過在transition組件中提供一個slot,我們幾乎可以像使用基本transition組件一樣使用它。這比前面的例子稍微好一點,但是如果我們想要傳遞其他特定于transition的prop,比如mode或者一些hook,該怎么辦呢

封裝的包裝器transition組件

幸運的是,Vue 中有一個功能,使我們可以將用戶指定的所有額外props和監聽器傳遞給我們的內部標簽/組件。如果你還不知道,則可以通過$attrs訪問額外傳遞的 props,并將它們與v-bind結合使用以將它們綁定為props。這同樣適用于通過$listeners進行的事件,并通過v-on對其進行應用。

// FadeTransition.vue 
 
 
 
 
 
// App.vue 
 
... 
 
 
 
...
在Vue中如何創建可重用的Transition的代碼實例

「完整事例地址:https://codesandbox.io/s/yjl1wjyoy1?from-embed 」

現在,我們可以傳遞普通transition組件可以接受的任何事件和支持,這使得我們的組件更加可重用。但為什么不更進一步,增加通過 prop 輕松定制持續時間的可能性。

顯式持續時間 prop

Vue 為transition組件提供了一個duration prop,然而,它是為更復雜的動畫鏈接而設計的,它幫助 Vue 正確地將它們鏈接在一起。

在我們的案例中,我們真正需要的是通過組件prop控制CSS animation/transition。我們可以通過不在CSS中指定顯式的CSS動畫持續時間,而是將其作為樣式來實現。我們可以借助transition hook來做到這一點,該transition hook與組件生命周期 hook 非常相似,但是它們在過渡所需元素之前和之后被調用。讓我們看看效果如何。

// FadeTransition.vue 
 
 
 
 
在Vue中如何創建可重用的Transition的代碼實例

「完整事例地址:https://codesandbox.io/s/j4qnjvmwz9?from-embed 」

現在,我們可以控制實際的可見過渡時間,這使我們可重用的過渡變得靈活且易于使用。但是,如何過渡多個元素(如列表項)呢?

Transition group 支持

你想到的最直接的方法可能是創建一個新組件,比如fade-transition-group,然后將當前transition標簽替換為transition-group標簽,以實現 group transition。如果我們可以在相同的組件中這樣做,并公開一個將切換到transition-group實現的group prop,那會怎么樣呢?幸運的是,我們可以通過render函數或component和is屬性來實現這一點。

// FadeTransition.vue 
 
 
 
 
 
// App.vue 
 
... 
 
...
在Vue中如何創建可重用的Transition的代碼實例

[文檔中][6]介紹了一個帶有transition-group元素的警告。我們基本上必須在元素離開時將每個項目的定位設置為absolute,以實現其他項目的平滑移動動畫。我們也必須添加一個move-class并手動指定過渡持續時間,因為沒有用于移動的 JS hook。我們將這些調整添加到我們的上一個示例中。

再做一些調整,通過在mixin中提取 JS 邏輯,我們可以將其應用于輕松創建新的transition組件,只需將其放入下一個項目中即可。

Vue Transition

在此之前描述的所有內容基本上都是這個小型 [transition 集合][7]所包含的內容。它有 10 個封裝的transition組件,每個約1kb(縮小)。我認為它非常方便,可以輕松地在不同的項目中使用。你可以試一試:)

看完上述內容,是不是對在Vue中如何創建可重用的Transition的代碼實例有進一步的了解,如果還想學習更多內容,歡迎關注創新互聯行業資訊頻道。


本文名稱:在Vue中如何創建可重用的Transition的代碼實例
分享鏈接:http://www.xueling.net.cn/article/gepdpo.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产高清自拍视频 | 国产精品婷婷久久爽一下 | 成人av在线网站 | www.91麻豆 | 日日摸夜夜添欧美一区 | 国内国内在线自偷第68页 | 最近中文字幕完整视频高清 | 一二三四视频在线观看中文版免费 | 欧美一个色资源 | 亚洲国产精品一区久久av篠田 | 白嫩人妻娇喘欲仙欲死 | 亚洲成色WWW成人网站妖精 | 白浆在线播放 | 最近日本中文字幕 | 狠狠色综合7777夜色撩人 | 97人操| 亚洲一区二区在线看 | 91一区在线| 免费精品国产福利片 | 久久综合久久美利坚合众国 | 一女被两男吃奶玩乳尖 | 亚洲精品专区一区8v | 日本精品免费观看 | 国产互换人妻好紧hd无码 | 久久亚洲美女 | 国产学生av娇小av毛片 | 亚州欧洲日韩精品 | 亚洲精品久久av无码一区二区 | 久久996热在线播放 国产午夜久久av | 欧美激情精品久久 | 草草影院在线 | 强壮的公次次弄得我高潮a片日本 | 国产精品久久艹 | 久久人人爽人人爽人人片AV麻烦 | 日韩视频在线一区 | 欧美日韩国产人妻无码 | 超碰国产91 | 18深夜在线观看免费视频 | 日韩精品第1页 | 无码人妻一区二区三区免费 | 亚洲国产精品无码专区影院 |