我正在尝试使以下工作:
我有一个包含项目列表的 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。那应该有效吗?