- Getting Started
- edpx-mobile v1.0.0
- rebas
- rider
- saber-ajax
- saber-cookie
- saber-dom
- saber-emitter
- saber-env
- saber-fastbutton
- saber-firework
- saber-firework v2.0.0
- saber-firework v2.0.0-beta.2
- saber-firework v2.0.0-beta.1
- saber-firework v2.0.0-alpha.2
- saber-firework v2.0.0-alpha.1
- saber-firework v1.0.0
- saber-firework v0.4.2
- saber-firework v0.4.1
- saber-firework v0.4.0
- saber-firework v0.3.2
- saber-firework v0.3.1
- saber-firework v0.3.0
- saber-firework v0.2.6
- saber-firework v0.2.5
- saber-firework v0.2.4
- saber-firework v0.2.1
- saber-firework v0.2.0
- saber-firework v0.1.0-beta.4
- saber-firework v0.1.0-beta.3
- saber-firework v0.1.0-beta.1
- saber-geo v0.1.0
- saber-lang
- saber-log v0.1.0
- saber-matchmedia
- saber-mm
- saber-promise
- saber-promise v2.1.0
- saber-promise v2.0.0
- saber-promise v2.0.0-beta.1
- saber-promise v2.0.0-alpha.3
- saber-promise v2.0.0-alpha.2
- saber-promise v2.0.0-alpha.1
- saber-promise v1.0.2
- saber-promise v1.0.0
- saber-promise v0.1.2
- saber-promise v0.1.2-beta.3
- saber-promise v0.1.2-beta.2
- saber-promise v0.1.2-beta.1
- saber-promise v0.1.1
- saber-promise v0.1.0
- saber-rainbow
- saber-router
- saber-router v2.0.0
- saber-router v2.0.0-beta.1
- saber-router v2.0.0-alpha.2
- saber-router v2.0.0-alpha.1
- saber-router v1.0.0
- saber-router v0.2.4
- saber-router v0.2.3
- saber-router v0.2.2
- saber-router v0.2.1
- saber-router v0.2.0
- saber-router v0.1.0
- saber-router v0.1.0-beta.5
- saber-router v0.1.0-beta.4
- saber-router v0.1.0-beta.3
- saber-router v0.1.0-beta.2
- saber-router v0.1.0-beta.1
- saber-run
- saber-scroll
- saber-storage
- saber-string
- saber-tap
- saber-uri
- saber-viewport
- saber-viewport v1.1.0
- saber-viewport v1.0.0
- saber-viewport v0.2.12
- saber-viewport v0.2.11
- saber-viewport v0.2.10
- saber-viewport v0.2.9
- saber-viewport v0.2.8
- saber-viewport v0.2.6
- saber-viewport v0.2.5
- saber-viewport v0.2.1-beta.7
- saber-viewport v0.2.1-beta.6
- saber-viewport v0.2.1-beta.5
- saber-viewport v0.2.1-beta.4
- saber-viewport v0.2.1-beta.3
- saber-viewport v0.2.1-beta.2
- saber-viewport v0.2.1-beta.1
- saber-viewport v0.2.0
- saber-viewport v0.1.0
- saber-widget
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
saber-firework v0.4.2
saber-firework
移动端MVP
开发框架,使用etpl作为模版引擎,结合页面转场与路由管理,提供完整的SPA
解决方案。
Usage
var firework = require('saber-firework'); // 加载index配置 firework.load({ path: '/index', action: require('./index') }); // 启动App firework.start();
具体请参考使用指南
API
.load(route)
加载路由配置信息
route
{Object|Array.<Object>}
路由配置信息,具体参考doc/route
.start(ele, options)
启动App
ele
{HTMLElement}
容器元素options
{Object}
全局配置信息,具体参考doc/config
.addFilter(url, fn)
添加在加载页面前执行的filter
url
{string|RegExp=}
filter匹配的url或者url正则表达式,如果不设置则filter对所有url都生效fn
Function(route, next, stop, jump)
filter,支持异步操作,有四个参数:route
{Object}
路由信息,包括页面URLpath
与查询条件query
等next
{Function}
执行下一个filterstop
{Function}
终止页面的加载jump
{Function(num)}
跳过后续的filter
最常见的filter有日志统计,权限验证等,例如:
// 对所有`/admin/`路径下的页面添加登录验证 firework.addFilter(/^\/admin\//, function (route, next, stop, jump) { if (!isLogin) { // 没登录就乖乖去登录 // 通过直接修改路由信息中的`path`来改变实际加载的页面 // 同时添加名为`form`的`query`参数,用于登录完成后跳转回之前的页面 route.query = { from: route.path }; route.path = '/login'; // 直接跳过后续的filter jump(); } else { // 已经登录了 // 就好好继续执行下一个filter吧 next(); } });
.on(name, fn)
绑定事件
name
{string}
事件名称,具体请参考事件说明fn
{Function}
事件处理函数
Events
beforeload
加载页面前事件,有两个参数,after
待转加载页面信息 与 before
当前页面信息
{Object}
after 待转加载页面信息{Action}
after.action 待转加载的action对象{Page}
after.page 待转加载的page对象{Object}
before 当前页面信息{Action}
before.action 当前的action对象{Page}
before.page 当前的page对象
beforetransition
转场动画开始前事件,参数同beforeload
afterload
页面加载完成事件,参数同beforeload
error
页面加载失败事件,参数同beforeload
===
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论