Javascript 在extjs中重复一个自定义元素
我有一个应用程序,我必须在一个页面上重复一个自定义组件200次,并保存每个组件的引用。我尝试使用for循环添加它,但这样做会导致脚本错误。有没有其他方法可以在extjs中重复自定义组件? 这是我正在使用的代码Javascript 在extjs中重复一个自定义元素,javascript,extjs,Javascript,Extjs,我有一个应用程序,我必须在一个页面上重复一个自定义组件200次,并保存每个组件的引用。我尝试使用for循环添加它,但这样做会导致脚本错误。有没有其他方法可以在extjs中重复自定义组件? 这是我正在使用的代码 Ext.application({ requires: ['Ext.container.Viewport'], name: 'Excel', launch: function() { Ext.define('ExcelCell',{ extend: 'Ext
Ext.application({
requires: ['Ext.container.Viewport'],
name: 'Excel',
launch: function() {
Ext.define('ExcelCell',{
extend: 'Ext.panel.Panel',
itemcls: 'excelCell',
height: 20,
width: 64
});
var port = Ext.create('Ext.container.Viewport', {
layout: 'absolute'
});
var totalRowsToDraw = port.height/20;
var totalColumnsToDraw = port.width/64;
var cellDictionary = new Object();
var cell;
for(var r=0; r < totalRowsToDraw ;r++){
for(var c=0; c < totalColumnsToDraw ;c++){
cell = Ext.create('ExcelCell');
cell.x = c*64;
cell.y = r*20;
port.add(cell);
cellDictionary[r+','+c] = cell;
}
}
}
});
你的代码工作得很好。我唯一想到的是,也许你想从其他方法中使用
cellDictionary
如果是这种情况,并且您希望使其全局可访问,而不是:
var cellDictionary = {};
您必须执行以下操作:
Excel.cellDictionary = {};
然后,要访问它,您需要执行类似于Excel.cellDictionary[“2,2”]
的操作(可能这是显而易见的)
希望这有帮助。Cheers很好:(但我认为您更喜欢使用
XTemplate
或容器
s或框
s,而不是面板
s)当我使用Hbox或Vbox时,我并不是只获取面板的边框,而是获取单元格周围的边框。我是ExtJs的新手,所以我不太了解它为什么会发生。它工作正常吗??因为对我来说,当我在Firefox中运行它时,它会抛出无响应的脚本错误,它甚至不会在chrome和IE中打开。嗯,它在带有ExtJs 4.1.1的chrome中工作正常,请检查这里:
Excel.cellDictionary = {};