javascript - 别名替换组件上的 ItemId?

标签 javascript extjs extjs4 extjs4.2

我正在阅读该文档,它指出以

的形式设置别名
   '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,而我在文档中找不到这是一个副作用?

最佳答案

创建对象时,别名用作 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"]');

关于javascript - 别名替换组件上的 ItemId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32992852/

相关文章:

c# - 为树节点创建列表

javascript - 如何设置 x 轴上的最大值/最小值以在 Chart.js 中显示时间范围?

javascript - 遍历 JSON 对象数组并根据对象的匹配 ID 获取属性

javascript .apply 带有变量函数名称

javascript - ExtJS 现代 : Painted Event is not triggered in iOS 13. 4+ WKWebview

javascript - 防止制表符进入字段

javascript - 如何将 beforerequest 事件添加到 Extjs 4 中的 ajax 请求?

javascript - 将变量传递给 jQuery 函数

css - 在 sencha touch 中使用图像作为选项卡

javascript - 在网格之间执行拖放时,在显示窗口时停止处理 DragDrop 事件