老熟女激烈的高潮_日韩一级黄色录像_亚洲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
主站蜘蛛池模板: 小蜜被两老头吸奶头在线观看 | 亚洲精品国产精品国产 | 久久精品国产a三级三级三级 | 欧美一区二区三区中文字幕 | 91精品激情在线?看最新更新 | 中文字幕无码热在线视频 | 中文字幕五区 | 97精品国产97久久久久久久久久久久 | 精品国产日韩欧美一区二区 | 国产男女视频网站 | 亚洲AV无码不卡无码 | 亚洲ΑV无码一区二区三区四区 | 西西人体444WWW大胆无码视频 | 久久久妇女 | 亚洲欧美精品在线 | 99天天综合性 | 成人精品毛片国产亚洲av十九禁 | 91资源免费视频 | 国产一区二区三区精品欧美日韩一区二区三区 | 久久黄色毛片 | 欧美三级视频日日操 | 第一次破處在线国语视频播放 | 国内精品久久久久久 | 国产乱码久久久久久 | 国产激情情久久久护士女 | 精品国产乱码久久久久久丨区2区 | 亚洲欧美国产日韩中文字幕 | 乱子伦一区二区三区 | 久久人妻内射无码一区三区 | 成片免费观看视频999 | 另类在线视频 | 国产二级av | 久艹人人艹视频 | 欧美日韩精品欧美日韩精品一 | 男人操女人视频网站 | 国产成人aa在线视频 | 十八禁韩国女主播vip秀362视频 | 国产日日夜夜操 | 国产激情免费视频在线观看 | 91精品国产综合久久久久久豆腐 | 狠狠热免费视频 |