返回介绍

saber-firework v2.0.0-beta.2

发布于 2023-10-15 20:10:06 字数 6772 浏览 0 评论 0 收藏 0

Bower version Build StatusLicenseEFE Mobile Team

移动端SPA开发框架,基于MVP架构,结合页面转场路由管理,提供完整的SPA解决方案。

Installation

使用 edpx-mobile 初始化项目,引入相关模块

$ edp mobile init spa

或者通过 edp 引入模块:

$ edp import saber-firework

Usage

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');

// 欢迎进入同构的世界~
...

API

Methods

start(ele[, options])

启动应用

  • 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,超时后框架可以响应其它页面的切换请求,默认为 300
    • processor {Object=} 附加处理器,作用于特定时刻调整框架行为,具体请参考附加处理器说明
    • viewport {Object=} 转场相关配置,具体请参考 saber-viewprot全局配置参数说明,默认为{ transition: false } 关闭转场效果

saber-fireworksaber-mm 提供 MVP 的实现,PresenterViewModel 相关的配置与 API 请参考 saber-mm 的说明文档

load(route)

加载路由配置信息

  • route {Object|Array.<Object>} 路由配置信息
    • path {string} 请求路径
    • action {Object|string} Presenter 配置信息,如果是字符串则表示配置文件的加载地址,会在后续实际访问时进行异步加载
    • cached {boolean=} Presenter 缓存设置,缓存的页面在离开时不会被销毁,下次访问会跳过初始化渲染过程
    • transition {Object=} 转场参数,具体请参考 saber-viewprot全局配置参数说明

getSyncData(name)

获取后端同步的数据,只针对同构的项目,关于同构的相关信息请参考 rebas

  • name {string} 数据名称
  • return {*} 数据内容

delCachedAction(path)

删除缓存的Action

  • path {string} 页面路径

on(name, fn)

绑定事件

  • name {string} 事件名称,具体请参考事件说明
  • fn {Function} 事件处理函数

Events

beforeload

加载页面前事件,有两个参数,after待加载页面信息 与 before当前页面信息

  • after {Object} 待加载页面信息
    • route {Object} 待加载页面的路由信息
      • path {string} 地址
      • query {Object} 查询条件
      • url {string} 完整 URL
    • action {Action} 待加载的 Presenter 对象
    • page {Page} 待加载的 Page 对象
  • before {Object} 当前页面信息
    • route {Object} 当前页面的路由信息
      • path {string} 地址
      • query {Object} 查询条件
      • url {string} 完整 URL
    • action {Action} 当前的 Presenter 对象
    • page {Page} 当前的 Page 对象

beforetransition

转场动画开始前事件,参数同 beforeload

afterload

页面加载完成事件,参数同 beforeload

error

页面加载失败事件,参数同 beforeload

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文