# Model

实体、数据模型，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) )
               }
           }
       }