实体、数据模型,model中的方法和属性都该设置成静态类型

Defined in: src/model.js:3
Module: gfs-react-mvc

方法

Model

Model
(
  • target
)

Defined in src/model.js:110

一个类装饰器,被装饰的类会变成store,默认不需要额外提供对数据操作的方法,在control中默认会提供del、update、insert等数据操作方法;如果有特殊需求无法满足使用场景可按照example中给出的方式自行编写数据处理方法
注意:model类中__name属性必须要有,这是为了能在各个component正常使用model必备的一个属性,必须小写,默认会在字符串后面添加上"model",例如:static __name='test',那么在实际中运用应该是this.props.testmodel

参数:

target Object

被包装的对象

参数名类型标识描述
target Object

被包装的对象

Example:

  import {Model} from 'gfs-react-mvc'
  //这里由于@为文档关键符号,所以下面将以$代替
  //@Model
  $Model
    class TestModel {
       //__name必须要有,这是为了能再各个component正常使用model必备的一个属性,必须小写
       static __name = 'testmodel'
       //数据模型
       static age = 20
       static xq = {}
       //可以自行定义数据操作方法,在control中通过
       //dispatch({
       //    type:testmodel$$save,
       //    data:data
       //})
       //这种方式变更数据,其中type值的组成是通过:类名(全小写)+ 方法名组成
       static save(data, action){
           if(action.data){
               return data.merge(Immutable.fromJS(action.data) )
           }
       }
       //dispatch({
       //    type:testmodel$$del,
       //    data:data
       //})
       static del(data, action){
           if(action.data){
               return data.merge(Immutable.fromJS(action.data) )
           }
       }
   }