我正在阅读该文档,并声明以
的形式设置别名 'widget.xxx.yyy'
然后xtype将自动设置为
'xxx.yyy'
我遇到的问题是我已经设置了别名和itemId。似乎itemId正在使用别名中的内容减去widget.
部分。
这是一个例子
Ext.define('TestApp.view.product.Panel', {
extend : 'Ext.grid.Panel',
alias: 'widget.productPanel',
itemId: 'miscProductPanel',
所以我正在检查调试器,我注意到别名是正确的,但是itemId现在似乎等于" productPanel"而不是" miscProductPanel"。
任何人都可以确认发生了什么吗?
创建别名的真正意义是什么?是否有创建别名的优点。据我所知,它似乎覆盖了我在文档中无法找到这是一个副作用的itemID吗?
答案 0 :(得分:4)
在创建对象时,别名用作xtype。 ItemId用于管理相同类型的不同对象。
例如:
Ext.define('MyApp.MyNewButton', {
extend : 'Ext.button.Button',
alias: 'widget.myNewButton'
...
});
当我在面板上创建按钮时,我会这样做:
var myPanel = Ext.create('Ext.panel.Panel',{
...
...
items:[{
xtype:'myNewButton',
itemId:'startBtn'
},{
xtype:'myNewButton',
itemId:'stoptBtn'
}]
});
您可以使用itemId获取每个按钮。 例如:
var startBtn = myPanel.down('myNewButton[itemId="startBtn"]');
var stopBtn = myPanel.down('myNewButton[itemId="stopBtn"]');