多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > extjs自定義組件類

extjs自定義組件類

來源:程序員人生   發布時間:2014-12-11 08:32:48 閱讀次數:4736次

在使用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導入,見下面的代碼:


Ext.define('app.view.Viewport', { renderTo: Ext.getBody(), extend: 'Ext.container.Viewport', alias: 'widget.main_viewport', requires: [ 'Ext.tab.Panel', 'Ext.layout.container.Border', 'app.store.StockChartPieStore', 'app.view.main.Main_Top_Panel', 'app.view.main.Main_Pie_Chart', 'app.view.main.Main_Column_Chart' ], layout: { type: 'border' },


具體在主界面的tabpanel使用的代碼就能夠簡化為:


{ xtype: 'tabpanel', region: "center", id: 'content_tabpanel', margins: '2 5 5 0', activeTab: 0, border: false, items: [{ id: 'start-panel', title: '歡迎使用', layout: 'hbox', bodyStyle: 'padding:25px; background-image: url(./img/bg.jpg); background-repeat: no-repeat; background-attachment: fixed; background-position: 100% 100%', items: [ { xtype: 'main_pie_chart', chart_store: chart_data_store } , { xtype: 'main_column_chart', chart_store: chart_data_store } ] }

注意這里面實際上是援用了兩個自定義的extjs 統計圖組件類,兩個圖對應同1個store,所以在寫完xtype去援用自定義組件后又提供了chart_store這個extjs自定義類屬性。



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品入口麻豆免费 | 最近的中文字幕视频大全高清 | 69热在线| 国产亚洲精品日韩已满十八 | 91免费片| 香蕉免费看一区二区三区 | 亚洲精品一区二区三区在线看 | 这里是九九伊人 | www.色.con| 综合色网站 | 性欧美高清久久久久久久 | 成人精品福利 | 老司机午夜精品视频观看 | 日产免费线路一区二区三区 | 印度最猛性xxxxx| 亚洲人成免费 | 国产一区二区在线视频观看 | 亚洲国语 | 国产精品久久久久久福利漫画 | 日本香蕉一区二区三区 | 目韩一区二区三区系列片丶 | 国产黄色在线网站 | 亚欧成人乱码一区二区 | 国产手机在线看片 | 免费亚洲网站 | 亚洲精品国产福利片 | 高清国产一区二区三区 | 国产成人精品久久一区二区三区 | 国产 | 久而欧洲野花视频欧洲1 | 五月伊人网 | 亚洲人成网站在线播放观看 | 亚洲精品美女国产一区 | 日韩精品 欧美 | 日本特级毛片 | 久久v | 国产精品欧美亚洲韩国日本不卡 | www.日本高清视频.com | 国产午夜永久福利视频在线观看 | 亚洲欧美精品一区二区 | 18在线| 亚洲在线h|