在下面的应用程序中,我试图将id
's 动态添加到生成的项目中。我的代码工作正常,但是当我在其中添加以下两条注释行时。它抛出错误
未捕获的 Ext.AbstractManager.register():向该管理器注册重复的 id "73"
当我试图找出错误的来源时,我发现代码运行良好,直到执行81
id's ( console.log(_idGen)
)。由此可见,该错误与超出范围异常有关。(9*9 = 81) 并且仅在 Fiddle 中,当我将 HTML 文本添加到子面板时,我才知道它们在73 to 81
??( 而不是1 to 81
) 之间,这让我很困惑,怎么办?
Ext.onReady(function(){
var _idGen = 1;
var childItems = [], items = [];
for (var i = 0; i < 9; i++) {
childItems.length = 0;
for (var j = 0; j < 9; j++) {
childItems.push({
xtype: 'panel',
/****************************/
id: _idGen,
html: _idGen + "",
/****************************/
width: 50,
height: 50,
style: {borderWidth: '1px'}
});
console.log(_idGen);
/*****************************/
_idGen++;
/*****************************/
}
items.push({
xtype: 'panel',
layout: {
type: 'table',
columns: 3
},
items: childItems
});
}
Ext.create('Ext.container.Container', {
layout: {
type: 'table',
// The total column count must be specified here
columns: 3
},
renderTo: Ext.getBody(),
style: {width: '455px',marginLeft: 'auto',marginRight: 'auto', marginTop: '30px'},
items: items
});
});