我有一个简单的视图,左侧有一个列表,右侧有一个容器来显示点击列表项的详细信息,定义如下:
Ext.define('app.view.activity.ListContainer', {
extend: 'Ext.Container',
alias: 'widget.activitylistcontainer',
requires: [
'app.view.activity.List',
'app.view.activity.ListDetail'
],
config: {
layout: {
type: 'hbox'
},
items: [
{
xtype: 'activitylist',
flex: 4
},
{
xtype: 'activitylistdetail',
flex: 5
}
]
}
});
当activity.List
Store 加载时,我想activity.ListDetail
显示 Store 中第一条记录的详细信息。我的问题是我无法访问,activity.ListContainer
因为它未被识别为activity.List
.
onActivityListInitialize: function(component, options){
var activityStore = Ext.create('app.store.Activity');
activityStore.on('load', function(store, records, successful, operation, eOpts){
var activityListHasContainer = component.hasParent(),
activityListContainer = component.getParent(),
activityListContainerUp = component.up('activitylistcontainer');
console.log(component, component.parent, activityListHasContainer, activityListContainer, activityListContainerUp);
});
component.setStore(activityStore);
}
的输出console.log
是Object, undefined, false, undefined, undefined
。我包含component.parent
在其中是log
因为当我检查对象时有一个parent
属性,但无论出于何种原因,它都会undefined
在log
退出时显示。
有人可以帮助阐明这一点吗?在煎茶中activity.ListContainer
不被视为父母吗?activity.List
还是我的应用程序中的其他东西与此有关?如果它有帮助,activity.ListContainer
是在一个navigationview