在我的项目中,我在“查看”中为widget alias
创建了notifications
以下代码。现在,如何访问“Controller”中的每个项目?
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];
这让我很头疼并且有很多错误。
我也尝试过像这样使用ComponentQuery:
var childItem = notificationView.ComponentQuery.query('container>container>container>container');
只有第一个孩子,而不是其他孩子。
答案 0 :(得分:2)
您可以使用组件的任意属性在组件查询中识别它。例如,如果您将属性refId : 'myMonthlyStatus'
添加到上一个容器,则可以从任何位置使用query('container [refId=myMonthlyStatus]')
找到它。