0

我正在尝试使以下工作:

我有一个包含项目列表的 NavigationView。当我点击一个项目时,我会推送一个新视图:

this.getNavigationView().push(newView);

这工作正常,它会打开包含另一个项目列表的 newView。现在我想开始工作,当我点击 newView 中的一个项目时,它会打开该项目的 detailView。

this.getNavigationView().push(detailView)

这也几乎可以正常工作。当我这样做时,我可以看到一个看起来很奇怪的“闪烁”效果,当我点击“返回”按钮时,它要么让我回到 newView 列表,要么回到一个空视图。我不知道为什么,但我认为这与导航视图保险箱的“索引”有关?

有没有办法让它在不使用嵌套列表的情况下工作?

这是我的控制器的代码:

control: {
        'fitnessContainer fitness list': {
            itemtap: function(list, index, target, record){
                //console.log("item "+record.get('id')+ " tapped");
                var fitnessDetailsView = Ext.create('pronummusfit.view.FitnessDetails');
                fitnessDetailsView.setData(record.data);
                var test = Ext.getStore('FitnessDetails');
                console.log(record.get("id"));
                test.getProxy().setExtraParam('test', record.get("id"));
                test.load();
                test.removeAll();
                this.getFitnessContainer().push(fitnessDetailsView);
            }
        },
    },

以及 detailview 控制器的代码

control: {
        'fitnessDetails list': {
            itemtap: function(list, index, target, record){
                console.log("test");
                //console.log("item "+record.get('id')+ " tapped");
                var fitnessItemView = Ext.create('pronummusfit.view.FitnessItem');
                fitnessItemView.setData(record.data);
                var test = Ext.getStore('FitnessDetails');
                test.getProxy().setExtraParam('test', record.get("id"));
                console.log(record.get("id"));
                test.load();
                test.removeAll();
                this.getFitnessContainer().push(fitnessItemView);
            }
        },
    },

完全一样。我认为问题在于,“record.get("id")”是错误的。我将尝试将最后一条记录 id 保存为 var。那应该有效吗?

4

0 回答 0