Extjs采用三层架构设计时候需要为每个结构相对复杂的页面都单独设计一个页面的文件夹存放各自的js文件吗?
还有一个问题如果我们采用三层架构设计的时候对于不同的页面,也就是说如果我们的项目有多个页面的时候,是不是需要在view,model,controller,store的文件...
还有一个问题如果我们采用三层架构设计的时候对于不同的页面,也就是说如果我们的项目有多个页面的时候,是不是需要在view,model,controller,store的文件夹下面为每个结构相对复杂的页面都单独设计一个文件夹存放各自的js文件吗?谢谢
展开
1个回答
展开全部
1.每个页面需要一个单独文件夹,但不一定是view,model,controller,store下都建
2.部分store、model可以共用,所以可以放到一个common文件夹里
3.controller建议创建独立的页面文件夹,这是便于维护的,要不然十几个controller放一起找起来也麻烦
4.页面独有的view、store、model建议也放到controller文件夹下,这是因为要是再在view、store、model下又各建页面文件夹,复用的时候会很麻烦,比如两个页面相识,复制粘贴也很辛苦,我们公司现在的框架就是这样view、store、model下又各建文件夹,这样做其实只是方便了controller在引用的时候少写点可以直接这样用
Ext.define('cindy.controller.basicdoc.contactunits.CustomerManageController', {
extend : 'Ext.app.Controller',
models : ['Custom'],
stores : ['utilstore.BillStore'],
views : ['basicdoc.contactunits.customermanage.CustomerMenu']
});
5.项目A文件结构建议如下
A
——ext
——js
——common
——store
——user
——employee
——model
——user
——window
....
——form
...
——page
page1
con_controller
view_mainview
view_window
store_mainstore
model_mainmodel
page2
con_controller
view_mainview
view_window
store_mainstore
model_mainmodel
6.这样一来,如果你复用一个界面,只需要改下定义的路径;需要注意的是在定义
因为创建控件有两种方式
一种是Ext.create('A.page.page1.view_mainview',{....})
还一种是Ext.widget('page1mainview',{....})或者Ext.create('widget.page1mainview',{xtype:'page1mainview',...})
我们经常用的是第二种,此时要注意定义alias : 'widget.page1mainview'这个时,名字一定要唯一
7.由6可以看出,当我们复用一个界面时,只需要替换掉页面名就可以了,其他都可以不用改太多
2.部分store、model可以共用,所以可以放到一个common文件夹里
3.controller建议创建独立的页面文件夹,这是便于维护的,要不然十几个controller放一起找起来也麻烦
4.页面独有的view、store、model建议也放到controller文件夹下,这是因为要是再在view、store、model下又各建页面文件夹,复用的时候会很麻烦,比如两个页面相识,复制粘贴也很辛苦,我们公司现在的框架就是这样view、store、model下又各建文件夹,这样做其实只是方便了controller在引用的时候少写点可以直接这样用
Ext.define('cindy.controller.basicdoc.contactunits.CustomerManageController', {
extend : 'Ext.app.Controller',
models : ['Custom'],
stores : ['utilstore.BillStore'],
views : ['basicdoc.contactunits.customermanage.CustomerMenu']
});
5.项目A文件结构建议如下
A
——ext
——js
——common
——store
——user
——employee
——model
——user
——window
....
——form
...
——page
page1
con_controller
view_mainview
view_window
store_mainstore
model_mainmodel
page2
con_controller
view_mainview
view_window
store_mainstore
model_mainmodel
6.这样一来,如果你复用一个界面,只需要改下定义的路径;需要注意的是在定义
因为创建控件有两种方式
一种是Ext.create('A.page.page1.view_mainview',{....})
还一种是Ext.widget('page1mainview',{....})或者Ext.create('widget.page1mainview',{xtype:'page1mainview',...})
我们经常用的是第二种,此时要注意定义alias : 'widget.page1mainview'这个时,名字一定要唯一
7.由6可以看出,当我们复用一个界面时,只需要替换掉页面名就可以了,其他都可以不用改太多
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询