Bower version Build Status License EFE Mobile Team
移动端SPA开发框架,基于MVP架构,结合页面转场与路由管理,提供完整的SPA解决方案。
使用 edpx-mobile 初始化项目,引入相关模块
$ edp mobile init spa
或者通过 edp 引入模块:
$ edp import saber-firework
var app = require('saber-firework'); // 加载index配置 app.load({ path: '/index', action: require('./index') }); // 启动App app.start();
更多内容请参考使用指南
从 2.0 开始,saber-firework 能支持同构的移动端项目了〜 只需要引入同构的插件就能让 saber-firework 作为同构项目的浏览器端运行环境来工作:
var app = require('saber-firework'); // 引入同构插件 require('saber-firework/extension/isomorphic'); // 欢迎进入同构的世界〜 ...
启动应用
- ele
{HTMLElement}容器元素 - options
{Object=}全局配置信息path{string=}默认路径,默认为'/'index{string=}index文件名称,默认为'',如果设置为'index'则'/'与'/index'认为是相同路径template{string|Array.<string>=}公共模版字符串,预编译的template,主要用于在启动App时提前编译全局公用的 template,比如母版等,默认为空templateConfig{Object=}模版配置信息,具体请参考 etpl 配置参数templateData{Object=}全局模版数据Presenter{Object=}自定义 Presenter 基类Model{Object=}自定义 Model 基类View{Object=}自定义 View 基类router{Object=}路由器,默认为hash路由timeout{number=}页面加载超时时间,单位ms,超时后框架可以响应其它页面的切换请求,默认为300processor{Object=}附加处理器,作用于特定时刻调整框架行为,具体请参考附加处理器说明viewport{Object=}转场相关配置,具体请参考 saber-viewprot 的全局配置参数说明,默认为{ transition: false }关闭转场效果
saber-firework 由 saber-mm 提供 MVP 的实现,Presenter、View、Model 相关的配置与 API 请参考 saber-mm 的说明文档
加载路由配置信息
- route
{Object|Array.<Object>}路由配置信息- path
{string}请求路径 - action
{Object|string}Presenter 配置信息,如果是字符串则表示配置文件的加载地址,会在后续实际访问时进行异步加载 - cached
{boolean=}Presenter 缓存设置,缓存的页面在离开时不会被销毁,下次访问会跳过初始化渲染过程 - transition
{Object=}转场参数,具体请参考 saber-viewprot 的全局配置参数说明
- path
获取后端同步的数据,只针对同构的项目,关于同构的相关信息请参考 rebas
- name
{string}数据名称 - return
{*}数据内容
删除缓存的Action
- path
{string}页面路径
绑定事件
- name
{string}事件名称,具体请参考事件说明 - fn
{Function}事件处理函数
加载页面前事件,有两个参数,after待加载页面信息 与 before当前页面信息
- after
{Object}待加载页面信息- route
{Object}待加载页面的路由信息- path
{string}地址 - query
{Object}查询条件 - url
{string}完整 URL
- path
- action
{Action}待加载的 Presenter 对象 - page
{Page}待加载的 Page 对象
- route
- before
{Object}当前页面信息- route
{Object}当前页面的路由信息- path
{string}地址 - query
{Object}查询条件 - url
{string}完整 URL
- path
- action
{Action}当前的 Presenter 对象 - page
{Page}当前的 Page 对象
- route
转场动画开始前事件,参数同 beforeload
页面加载完成事件,参数同 beforeload
页面加载失败事件,参数同 beforeload