0%

backbone.marionette学习要点

Marionette(Backbone的牵线木偶)

提供rendering、template管理、UI对象

Model

rest数据,event事件

Collection:List

View

ItemView

  • Backbone.View的扩展,用于渲染Backbone.Model
  • 拥有modelEvents属性,可绑定View方法

CollectionView

  • 用于渲染Backbone.Collection
  • 可渲染List
  • 拥有collectionEvents/childEvents属性,
  • add/remove/reset/etc后自动更新视图
  • 支持Filtering(filter方法)、Sorting(comparator属性)
  • 支持Pagination

CompositeView

  • renders a Collection within a template
  • ItemView(model)和CollectionView(collection)的组合
  • 用于detail/table/nested lists/treeview类型的场景

View Containers

Region

View容器,渲染至DOM,DOM和Backbone的桥梁

LayoutView

  • 用于复杂嵌套布局,multi-view组成的widget
  • Region容器
  • render all in one call

Application

initialization初始化和 bootstrapping引导程序

Module

类似Application,多个Modules组成Application
可控制start/stop模块(及其子模块)

Controller

组件间的交互,用于复杂业务逻辑的业务场景

layouts/regions:动态create/display/dispose页面dom

event aggregrator

可bind/trigger事件
module/application级别的事件通道,其他所有模块都可监听,可用于如用户登陆成功的业务场景

Commands

多处触发,一处处理

Request/Response

用于提供Application Level Data,如购物车当前状态
提供全局状态,无需所有模块都做处理,但易被滥用,当全局可操作时难预测其影响

appRouter: