在使用extJs开发利用系统时,难免会出现1个Js文件内包括数百行乃至上千行代码的情况,例如程序主界面或复杂1点的界面,下面介绍如何通过自定义组件减少单个extJs JavaScript代码行数的方法。
下图中的主界面显示了两个统计图:
最初的时候统计图的Js代码是写死在tagpanel里面的,通过extJs 自定义组件的方法拆分成单独的类文件以后的代码:
Ext.define('app.vIEw.main.Main_PIE_Chart',{ extend: 'Ext.panel.Panel',alias : 'Widget.main_pIE_chart',chart_store:null,layout: { type: 'fit' },initComponent: function() { var me = this; Ext.applyIf(me,{ Title:'库存商品本钱散布饼图',items:[ { xtype:'chart',//region: 'center',animate: true,wIDth:450,height:400,store:me.chart_store,shadow: true,legend: { position: 'right' },insetpadding: 60,theme: 'Base:gradIEnts',serIEs: [{ type: 'pIE',fIEld: 'data1',showInLegend: true,donut: 35,tips: { trackMouse: true,wIDth: 140,height: 28,renderer: function(storeItem,item) { //var total = 0; //storeItem.each(function(rec) { // total += rec.get('data1'); //}); //this.setTitle(storeItem.get('product_name') + ': ' + Math.round(storeItem.get('data1') / total * 100) + '%'); this.setTitle(storeItem.get('product_name') + ': ' +storeItem.get('data1')+'元库存本钱'); } },highlight: { segment: { margin: 20 } },label: { fIEld: 'product_name',display: 'rotate',contrast: true,Font: '18px Arial' } }] } ] }); me.callParent(arguments); }});
上面的代码中定义了1个叫做“app.vIEw.main.Main_PIE_Chart”的类,在tabpanel里面需要援用时需要借助requires导入,见下面的代码:
具体在主界面的tabpanel使用的代码就能够简化为:
注意这里面实际上是援用了两个自定义的extJs 统计图组件类,两个图对应同1个store,所以在写完xtype去援用自定义组件后又提供了chart_store这个extJs自定义类属性。
以上是内存溢出为你收集整理的extjs自定义组件类全部内容,希望文章能够帮你解决extjs自定义组件类所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)