加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

API transition属性分析

发布时间:2023-04-14 14:20:07 所属栏目:教程 来源:
导读:Nuxt.js 使用 Vue.js 的<transition>组件来实现路由切换时的过渡动效。

类型: String 或 Object 或 Function
如果想给某个页面自定义过渡特效的话,只要在该页面组件中配置 transition 字段即可:

export de
Nuxt.js 使用 Vue.js 的<transition>组件来实现路由切换时的过渡动效。

类型: String 或 Object 或 Function
如果想给某个页面自定义过渡特效的话,只要在该页面组件中配置 transition 字段即可:

export default {
  // 可以是字符
  transition: ''
  // 或对象
  transition: {}
  // 或函数
  transition (to, from) {}
}
String
如果 transition 属性的值类型是字符类型, 相当于设置了动效配置对象的 name 属性:transition.name。

export default {
  transition: 'test'
}
Nuxt.js 将使用上面的配置来设置 Vue.js transition 组件,如下:

<transition name="test">
Object
如果 transition 属性的值类型是对象类型:

export default {
  transition: {
    name: 'test',
    mode: 'out-in'
  }
}
Nuxt.js 将使用上面的配置来设置 Vue.js transition 组件,如下:

<transition name="test" mode="out-in">
transition 允许配置的字段介绍:

属性字段    类型    默认值    描述
name    String    "page"    所有路由过渡都会用到的过渡名称。
mode    String    "out-in"    所有路由都用到的过渡模式,见 Vue.js transition 使用文档。
css    Boolean    true    是否给页面组件根元素添加 CSS 过渡类名。如果值为 false,路由过渡时将只会触发页面组件注册的 Javascript 钩子事件方法(不会设置 css 类名)。
duration    Integer    n/a    在页面切换的持续时间(以毫秒为单位)详情请参考 Vue.js documentation
type    String    n/a    指定过滤动效事件的类型,用于判断过渡结束的时间点。值可以是 "transition" 或 "animation"。 默认情况下, Nuxt.js 会自动侦测动效事件的类型。
enterClass    String    n/a    目标路由动效开始时的类名。 详情请参考 Vue.js transition 使用文档 。
enterToClass    String    n/a    目标路由动效结束时的类名。 详情请参考 Vue.js transition 使用文档 。
enteractiveClass    String    n/a    目标路由过渡过程中的类名。详情请参考 Vue.js transition 使用文档 。
leaveClass    String    n/a    当前路由动效开始时的类名。 详情请参考 Vue.js transition 使用文档 。
leavetoClass    String    n/a    当前路由动效结束时的类名。 详情请参考 Vue.js transition 使用文档 。
leaveActiveClass    String    n/a    当前路由动效过程中的类名。详情请参考 Vue.js transition 使用文档 。
你也可以在页面组件事件里面使用 Javascript 来控制过渡动效,可以称之为 JavaScript 钩子方法:

beforeEnter(el)

enter(el, done)

afterEnter(el)

enterCancelled(el)

beforeLeave(el)

leave(el, done)

afterLeave(el)

leaveCancelled(el)

注意:如果使用纯 Javascript 控制路由过渡动效,建议将 transition 组件的 css 属性的值设置为 false。这样可以避免 Vue 做 CSS 动效相关的侦测逻辑,同时防止 CSS 影响到过渡的动效。

Function
如果 transition 属性的值类型时函数:

export default {
  transition (to, from) {
    if (!from) { return 'slide-left' }
    return +to.query.page < +from.query.page ? 'slide-right' : 'slide-left'
  }
}
这时页面导航的动效如下:

/ to /posts => slide-left

/posts to /posts?page=3 => slide-left

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

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章