国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue 路由 過渡動(dòng)效 數(shù)據(jù)獲取方法

2019-11-19 13:22:34
字體:
供稿:網(wǎng)友

過渡動(dòng)效

<router-view> 是基本的動(dòng)態(tài)組件,所以我們可以用 <transition> 組件給它添加一些過渡效果:

<transition> <router-view></router-view></transition> 

單個(gè)路由的過渡

上面的用法會(huì)給所有路由設(shè)置一樣的過渡效果,如果你想讓每個(gè)路由組件有各自的過渡效果,可以在各路由組件內(nèi)使用 <transition> 并設(shè)置不同的 name。

基于路由的動(dòng)態(tài)過渡

還可以基于當(dāng)前路由與目標(biāo)路由的變化關(guān)系,動(dòng)態(tài)設(shè)置過渡效果

<!-- 使用動(dòng)態(tài)的 transition name --><transition :name="transitionName"> <router-view></router-view></transition>// 接著在父組件內(nèi)// 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ù)獲取

進(jìn)入某個(gè)路由后,需要從服務(wù)器獲取數(shù)據(jù)。例如,在渲染用戶信息時(shí),你需要從服務(wù)器獲取用戶的數(shù)據(jù)。我們可以通過兩種方式來實(shí)現(xiàn):

1.導(dǎo)航完成之后獲取:先完成導(dǎo)航,然后在接下來的組件生命周期鉤子中獲取數(shù)據(jù)。在數(shù)據(jù)獲取期間顯示『加載中』之類的指示。

2.導(dǎo)航完成之前獲取:導(dǎo)航完成前,在路由的 enter 鉤子中獲取數(shù)據(jù),在數(shù)據(jù)獲取成功后執(zhí)行導(dǎo)航。

導(dǎo)航完成后獲取數(shù)據(jù)

當(dāng)你使用這種方式時(shí),我們會(huì)馬上導(dǎo)航和渲染組件,然后在組件的 created 鉤子中獲取數(shù)據(jù)。這讓我們有機(jī)會(huì)在數(shù)據(jù)獲取期間展示一個(gè) loading 狀態(tài),還可以在不同視圖間展示不同的 loading 狀態(tài)。

假設(shè)我們有一個(gè) Post 組件,需要基于 $route.params.id 獲取文章數(shù)據(jù):

在導(dǎo)航完成前獲取數(shù)據(jù)

通過這種方式,我們?cè)趯?dǎo)航轉(zhuǎn)入新的路由前獲取數(shù)據(jù)。我們可以在接下來的組件的 beforeRouteEnter 鉤子中獲取數(shù)據(jù),當(dāng)數(shù)據(jù)獲取成功后只調(diào)用 next 方法。

下面是地址:https://github.com/haxxk/xu_s...
https://github.com/haxxk/xu_s...

總結(jié)

以上所述是小編給大家介紹的Vue 路由 過渡動(dòng)效 數(shù)據(jù)獲取方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 如东县| 平和县| 乌海市| 青神县| 文水县| 永德县| 牡丹江市| 洪雅县| 龙州县| 泌阳县| 东辽县| 兴海县| 松滋市| 阿坝| 宜章县| 榆树市| 信丰县| 石阡县| 建昌县| 桂阳县| 肥城市| 宁南县| 凤翔县| 湟源县| 西乌| 峨山| 龙南县| 定结县| 饶平县| 南丰县| 阳山县| 太白县| 维西| 高邑县| 平阴县| 泽州县| 莎车县| 晴隆县| 宝坻区| 红河县| 阳曲县|