2016-3-30

开发流程

QMB+(Kami+QApp+Yo)+js(QunarAPI+Qapp-Hy) -- native(Hytive Bridge)

Qapp

  • 设计模式

    • 视图
    • 路由
  • 在移动端,Qapp模拟一个新的页面,以native的api完成跳转动画

  • 构成

  • view

    • QApp.defineView
    • QApp.view.show 做弹层
    • QApp.view.open 打开视图
    • View.root 获取根节点
    • View.param 获取视图携带的参数
    • View.actived 当视图被激活的时候触发
  • view和plugin

    • this.ajax(plugin)来调用plugin。使用this可以将该方法绑定到对应的视图上,视图销毁,对应的ajax也会销毁
    • modules下面的view可以规定他的子视图。open打开的都是并列的,show弹层出现一部分,也是并列的,注意这个视图不在历史里
    • lanch传参
  • bindEvents执行顺序

  • ready,beforeshow,show,actived

  • deactived,beforeHide,hide,receiveData

     view.bind("actived",function(){});
    
  • router路由

  • < href="#a?" qapp-role="router" > === router.open("viewname") 或 QApp.goto("viewname") 或 router.backto("viewname")

  • goto/backto 是跳转历史上存在的该视图,没有才打开新的。添加“target="_blank"”属性,则直接打开新视图

  • === router.back()

  • Qapp.router.home 回到第一个页面

  • Qapp.router.exit 全部退出

  • 历史堆栈

  • 执行队列。例如调回首页,中间的视图都完整执行一遍

  • hash同步??

  • receiveData用于子视图回退时,传回来的参数
    receiveData(data){ data:view.name} 判断是哪个子视图

  • addOpenFilter/addBackFilter 可以打开回退 做统一逻辑。最多用来校验

视图什么时候会被销毁。打开的视图都不会销毁,当逐级返回时,销毁后面的视图

  • 生命周期
  • 参数传递
    • 传递: (前to后,父to子)param
    • 回调: (后to前,子to父)
      • 并列: showview的方式,往回传参
      • 嵌套:
        • view.parentView/parentModule
        • storage

自己使用的公共样式可以提出来,大家公用module样式放在module

你可能感兴趣的:(2016-3-30)