小編給大家分享一下Vue如何獲取路由過渡動效的數(shù)據(jù),希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
過渡動效
<router-view> 是基本的動態(tài)組件,所以我們可以用 <transition> 組件給它添加一些過渡效果:
<transition> <router-view></router-view> </transition>
單個路由的過渡
上面的用法會給所有路由設置一樣的過渡效果,如果你想讓每個路由組件有各自的過渡效果,可以在各路由組件內使用 <transition> 并設置不同的 name。
基于路由的動態(tài)過渡
還可以基于當前路由與目標路由的變化關系,動態(tài)設置過渡效果
<!-- 使用動態(tài)的 transition name --> <transition :name="transitionName"> <router-view></router-view> </transition> // 接著在父組件內 // watch $route 決定使用哪種過渡 watch: { '$route' (to, from) { const toDepth = to.path.split('/').length const fromDepth = from.path.split('/').length this.transitionName = toDepth < fromDepth ? 'slide-right' : 'slide-left' } }
數(shù)據(jù)獲取
進入某個路由后,需要從服務器獲取數(shù)據(jù)。例如,在渲染用戶信息時,你需要從服務器獲取用戶的數(shù)據(jù)。我們可以通過兩種方式來實現(xiàn):
1.導航完成之后獲?。合韧瓿蓪Ш?,然后在接下來的組件生命周期鉤子中獲取數(shù)據(jù)。在數(shù)據(jù)獲取期間顯示『加載中』之類的指示。
2.導航完成之前獲?。簩Ш酵瓿汕埃诼酚傻?enter 鉤子中獲取數(shù)據(jù),在數(shù)據(jù)獲取成功后執(zhí)行導航。
導航完成后獲取數(shù)據(jù)
當你使用這種方式時,我們會馬上導航和渲染組件,然后在組件的 created 鉤子中獲取數(shù)據(jù)。這讓我們有機會在數(shù)據(jù)獲取期間展示一個 loading 狀態(tài),還可以在不同視圖間展示不同的 loading 狀態(tài)。
假設我們有一個 Post 組件,需要基于 $route.params.id 獲取文章數(shù)據(jù):
在導航完成前獲取數(shù)據(jù)
通過這種方式,我們在導航轉入新的路由前獲取數(shù)據(jù)。我們可以在接下來的組件的 beforeRouteEnter 鉤子中獲取數(shù)據(jù),當數(shù)據(jù)獲取成功后只調用 next 方法。
Vue具體輕量級框架、簡單易學、雙向數(shù)據(jù)綁定、組件化、數(shù)據(jù)和結構的分離、虛擬DOM、運行速度快等優(yōu)勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數(shù)據(jù)和dom,可以大大提升訪問速度和用戶體驗。
看完了這篇文章,相信你對“Vue如何獲取路由過渡動效的數(shù)據(jù)”有了一定的了解,如果想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:Vue如何獲取路由過渡動效的數(shù)據(jù)-創(chuàng)新互聯(lián)
文章路徑:http://sd-ha.com/article0/dcecoo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、電子商務、標簽優(yōu)化、網(wǎng)站制作、品牌網(wǎng)站設計、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)