0

我有一个简单的视图,左侧有一个列表,右侧有一个容器来显示点击列表项的详细信息,定义如下:

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.ListStore 加载时,我想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.logObject, undefined, false, undefined, undefined。我包含component.parent在其中是log因为当我检查对象时有一个parent属性,但无论出于何种原因,它都会undefinedlog退出时显示。

有人可以帮助阐明这一点吗?在煎茶中activity.ListContainer不被视为父母吗?activity.List还是我的应用程序中的其他东西与此有关?如果它有帮助,activity.ListContainer是在一个navigationview

4

1 回答 1

0

结果在事件触发activity.ListContainer时不存在。activity.ActivityList initialize我的解决方案是将此方法移至activity.ListContainer initialize事件中。

于 2013-03-15T04:36:51.987 回答