Skip to content

Latest commit

 

History

History
37 lines (29 loc) · 1.3 KB

model.md

File metadata and controls

37 lines (29 loc) · 1.3 KB

Model

页面数据管理

Configure

saber-firework通过配置信息构建Model对象,配置信息为Object类型,包含以下字段:

  • constructor {Function=} 构造函数,默认为saber-firework/Model
  • events {Object=} 事件配置,key为事件名称,value为事件回调函数,this指针指向Model实例
  • fetch {Function(Object):Promise} 默认数据请求方法,参数为查询条件,返回Promise对象,action加载时会调用此方法进行数据初始化,并将请求的结果作为视图渲染数据
  • refetch {Function(Object):Promise} 默认数据更新方法,参数为查询条件,返回Promise对象,被缓存的action被唤醒时会调用此方法并将返回的数据交给view进行唤醒页面的渲染

除以上固有配置项外,还可通过给配置信息添加自定义属性的方式添加model的实例方法,实例方法的this指针指向当前的Model实例

配置实例如下:

{
    fetch: function (query) {
        // do something

        // return Promise
        return Resolver.resolved(data);
    },
    update: function (id, name) {
        return ajax.post(
            'xxx', 
            {
                id: id,
                name: name
            }
        );
    }
}