Extjs - 如何使用ComponentQuery查找几个类似的组件

时间:2013-11-18 19:32:48

标签: extjs extjs4.2

在我的应用程序中,我有几个视图在工具栏上具有相同的按钮。在对比器中,我想只使用一个ComponentQuery来监听所有类似按钮上的click事件。

我的观点1如下:

alias: 'widget.view-type1',
dockedItems: [{
    xtype: 'toolbar',
    dock: 'top',
    items: [{
        text: 'Add',
        itemId: 'add'
    }

在我的控制器中,而不是调用

init: function(){
    this.control({
        'view-type1 #add, view-type2 #add, view-type3 #add, view-type4 #add': {click: this.onButtonAdd},

我想要像

这样的东西
init: function(){
    this.control({
        'view-generic #add': {click: this.onButtonAdd},

我应该可以在我的视图1中添加一个配置属性,例如:

secondaryAlias: 'widget.view-generic',

但这不存在。

我的问题是,如何以这种方式声明这些视图,我可以使用简单的ComponentQuery将它们全部定位。我希望这个解释很清楚。

1 个答案:

答案 0 :(得分:1)

为每个类添加一个属性,如下所示:

mySecondaryAlias: 'view-generic',

然后使用属性搜索:

Ext.ComponentQuery.query('[mySecondaryAlias=view-generic] #add')