重视ExtJs中model

一般来说,在extjs的MVC模式中,比较注重的是controller以及view,在model层面的重视程度是不够的(至少我是这样的),究其原因,主要有两点:

  一、将model层浅显的理解为定义store的URL与fields就可以了,然后通过controller事件就可以搞定数据的载入的问题,这样一来,实际上model这一层真正用到的东西并不多了

  二、个人习惯问题,有人习惯在定义组件的store的时候,连带store里面的内容一起定出来,包括proxy,fields,root....任务这样定义出来的话,方便进行查看,不需要在多个文件中翻来覆去的找

因为这两个问题(或者更多问题),实际上进行真正MVC模式开发的并不是那么容易,我在使用两年左右的extjs后,开始发现着一个问题,于是考虑了一下:model这一层包含了store与model两个部分,那我们是不是应该重视model层面的东西?结合之前在做PHP的一点经验,觉得在使用extjs的MVC模式上应该可以进行更大的改进。

  首先:view里面在定义的时候,只定义一个对象,不包含实际的内容

 1 {
 2     xtype: 'grid',
 3     columns: [{
 4         dataIndex: 'name',
 5         header: 'name',
 6         width: 200
 7     }, {
 8         dataIndex: 'age'
 9         header: 'age'
10         width: 200
11     }],
12     store: Ext.create('App.store.UserStore')
13 }

     然后在自定义的store里面编写需要定义的fields,proxy等属性,以及一些我们需要用到的自定义方法,这些方法可能包括字段数据格式的组合,验证,转换等。这样一来,我们就可以减轻controller的工作量,让controller只专注于事件层,而不用去干数据的转换、验证等活。  

     在经过这样一层转换的之后,将一个功能话划分成了三个部分:事件驱动,页面布局,数据对象,各个部分的功能明确,在其他的页面中进行view或者store的重用时,可以更加方便灵活~

转载于:https://www.cnblogs.com/zacker/p/4527247.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值