开场白
开始使用
API
- API: The <client-only> Component
- API: <nuxt-child> 组件
- API: <nuxt-link> 组件
- API: <nuxt> 组件
- API: 构建配置
- API: buildDir 属性
- API: 缓存配置
- API: CSS 配置
- API: dev 属性配置
- API: dir 属性
- API: 环境变量配置
- API: generate 属性配置
- API: globalName 属性
- API: head 属性配置
- API: The hooks Property
- API: ignore 属性
- API: The loading indicator Property
- API: loading 属性配置
- API: The mode Property
- API: modern 属性
- API: modules 属性
- API: modulesDir 属性
- API: performance 属性
- API: plugins 属性配置
- API: The render Property
- API: rootDir 属性配置
- API: router 属性配置
- API: server 属性
- API: serverMiddleware 属性
- API: srcDir 属性配置
- API: transition 属性配置
- API: vue.config 属性
- API: watch 属性
- API: watchers 属性
- API: 上下文对象
- API: asyncData 方法
- API: The Builder Class
- API: The Generator Class
- API: The ModuleContainer Class
- API: The Nuxt Class
- API: The Renderer Class
- API: Nuxt Modules Intro
- API: nuxt.renderAndGetWindow(url, options)
- API: nuxt.renderRoute(route, context)
- API: nuxt.render(req, res)
- API: Nuxt(options)
- API: fetch 方法
- API: head 方法
- API: key 属性
- API: layout 属性
- API: loading 属性
- API: middleware 属性
- API: scrollToTop 属性
- API: transition 属性
- API: validate 方法
- API: The watchQuery Property
配置
- 外部资源
- 预处理器
- JSX
- Postcss 插件
- 如何扩展 Webpack 的配置
- Webpack 插件
- Caching Components
- 如何更改应用的主机和端口配置?
- 如何集成 Google 统计分析服务?
- 如何发起跨域资源请求?
- How to extend Webpack to load audio files?
部署
- 如何使用 Now.sh 进行部署?
- 使用 Surge.sh 部署
- 在 Google App Engine 上部署
- Netlify 部署
- AWS: S3+Cloudfront 部署
- Dokku 部署
- nginx 代理
- 如何部署至 GitHub Pages?
- 部署至 Heroku
其他
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
API: transition 属性
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论