99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Nuxt.js transition 屬性

2020-02-13 17:29 更新

transition 屬性

Nuxt.js 使用 Vue.js 的組件來(lái)實(shí)現(xiàn)路由切換時(shí)的過(guò)渡動(dòng)效。
  • 類型: String 或 Object 或 Function

如果想給某個(gè)頁(yè)面自定義過(guò)渡特效的話,只要在該頁(yè)面組件中配置 transition 字段即可:

export default {
  // 可以是字符
  transition: ''
  // 或?qū)ο?  transition: {}
  // 或函數(shù)
  transition (to, from) {}
}

String

如果 transition 屬性的值類型是字符類型, 相當(dāng)于設(shè)置了動(dòng)效配置對(duì)象的 name 屬性:transition.name。

export default {
  transition: 'test'
}

Nuxt.js 將使用上面的配置來(lái)設(shè)置 Vue.js transition 組件,如下:

<transition name="test">

Object

如果 transition 屬性的值類型是對(duì)象類型:

export default {
  transition: {
    name: 'test',
    mode: 'out-in'
  }
}

Nuxt.js 將使用上面的配置來(lái)設(shè)置 Vue.js transition 組件,如下:

<transition name="test" mode="out-in">

transition 允許配置的字段介紹:

屬性字段類型默認(rèn)值描述
nameString"page"所有路由過(guò)渡都會(huì)用到的過(guò)渡名稱。
modeString"out-in"所有路由都用到的過(guò)渡模式,見(jiàn) Vue.js transition 使用文檔。
cssBooleantrue是否給頁(yè)面組件根元素添加 CSS 過(guò)渡類名。如果值為 false,路由過(guò)渡時(shí)將只會(huì)觸發(fā)頁(yè)面組件注冊(cè)的 Javascript 鉤子事件方法(不會(huì)設(shè)置 css 類名)。
durationIntegern/a在頁(yè)面切換的持續(xù)時(shí)間(以毫秒為單位)詳情請(qǐng)參考 Vue.js documentation
typeStringn/a指定過(guò)濾動(dòng)效事件的類型,用于判斷過(guò)渡結(jié)束的時(shí)間點(diǎn)。值可以是 "transition" 或 "animation"。 默認(rèn)情況下, Nuxt.js 會(huì)自動(dòng)偵測(cè)動(dòng)效事件的類型。
enterClassStringn/a目標(biāo)路由動(dòng)效開(kāi)始時(shí)的類名。 詳情請(qǐng)參考 Vue.js transition 使用文檔 。
enterToClassStringn/a目標(biāo)路由動(dòng)效結(jié)束時(shí)的類名。 詳情請(qǐng)參考 Vue.js transition 使用文檔 。
enterActiveClassStringn/a目標(biāo)路由過(guò)渡過(guò)程中的類名。詳情請(qǐng)參考 Vue.js transition 使用文檔 。
leaveClassStringn/a當(dāng)前路由動(dòng)效開(kāi)始時(shí)的類名。 詳情請(qǐng)參考 Vue.js transition 使用文檔 。
leaveToClassStringn/a當(dāng)前路由動(dòng)效結(jié)束時(shí)的類名。 詳情請(qǐng)參考 Vue.js transition 使用文檔 。
leaveActiveClassStringn/a當(dāng)前路由動(dòng)效過(guò)程中的類名。詳情請(qǐng)參考 Vue.js transition 使用文檔 。

你也可以在頁(yè)面組件事件里面使用 Javascript 來(lái)控制過(guò)渡動(dòng)效,可以稱之為 JavaScript 鉤子方法

  • beforeEnter(el)
  • enter(el, done)
  • afterEnter(el)
  • enterCancelled(el)
  • beforeLeave(el)
  • leave(el, done)
  • afterLeave(el)
  • leaveCancelled(el)

注意:如果使用純 Javascript 控制路由過(guò)渡動(dòng)效,建議將 transition 組件的 css 屬性的值設(shè)置為 false。這樣可以避免 Vue 做 CSS 動(dòng)效相關(guān)的偵測(cè)邏輯,同時(shí)防止 CSS 影響到過(guò)渡的動(dòng)效。

Function

如果 transition 屬性的值類型時(shí)函數(shù):

export default {
  transition (to, from) {
    if (!from) { return 'slide-left' }
    return +to.query.page < +from.query.page ? 'slide-right' : 'slide-left'
  }
}

這時(shí)頁(yè)面導(dǎo)航的動(dòng)效如下:

  • / to /posts => slide-left
  • /posts to /posts?page=3 => slide-left
  • /posts?page=3 to /posts?page=2 => slide-right


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)