2013-03-19 76 views
1

在我的项目中,我在notifications的“视图”中为以下代码创建了widget alias。现在,如何访问“Controller”中的每个项目?如何在extjs中获得项目

extend: 'Ext.panel.Panel', 
alias: 'widget.notifications', 
layout: 'fit', 
items:[{ 
    xtype: 'container', 
    layout: {type: 'vbox', align: 'stretch'}, 
    items: { 
     xtype: 'container', 
     flex:1, 
     layout: {type: 'vbox', align: 'stretch'}, 
     items:[{ 
      xtype: 'container', 
      flex: 1, 
      items: [{ 
       xtype: 'container', 
       height: 20,     
       html: "This week",     
      }, 
      { 
       xtype: 'container', 
       flex: 1, 
       layout: {type: 'vbox', align: 'stretch'}, 
       items: [{ 
        xtype: 'container', 
        height:20, 
        html : 'show submit status here' 
       }, 
       { 
        xtype: 'container', 
        flex: 1, 
       }] 
      }] 
     }, 
     { 
      xtype: 'container', 
      flex: 1, 
      layout: {type: 'vbox', align: 'stretch'}, 
      items: [{ 
       xtype: 'container', 
       height: 20, 
       html: "This month" 
      }, 
      { 
       xtype: 'container', 
       flex: 1, 
       layout: {type: 'vbox', align: 'stretch'}, 
       items: [{ 
        xtype: 'container', 
        html: 'submit status of month here', 
        height: 20 
       }, 
       { 
        xtype: 'container', 
        flex: 1, 
       }] 
      }] 
     }] 
    } 
}] 

我想:

var notificationView = Ext.widget('NotificationView'); 
var childItem = notificationView.items.items[0].items.items[0].items.items[0].items.items[0]; 

这只是给了我头痛和许多错误。

var childItem = notificationView.ComponentQuery.query('container>container>container>container'); 

哪只获得了第一个孩子,而不是其他子项:

我也使用ComponentQuery这样的尝试。

回答

2

您可以使用组件的任意属性在组件查询中标识它。例如,如果您将属性refId : 'myMonthlyStatus'添加到最后一个容器,则可以从任何地方使用query('container [refId=myMonthlyStatus]')找到它。

+0

有没有像'refId'?因为我找不到它。 – 2013-03-19 07:00:19

+0

甚至如果我在'notificationView'变量中改变了某些东西,我在我的视图中看不到任何更改。我甚至调用了'this.callParent()'。 – 2013-03-19 07:02:08

+0

没有refId属性 - 我做了它,告诉你可以在ComponentQuery中使用任何你想要的属性。再次仔细阅读我的答案。 – dbrin 2013-03-19 17:43:53