Sencha Touch:如何从商店读取某些记录?

时间:2011-12-06 12:15:19

标签: sencha-touch extjs store

我有一个具有3级数据深度的应用程序:

  • 演示文稿列表
  • 演示文稿详情
  • 演示幻灯片

现在,当用户来到应用程序时,他会看到从JSONP商店加载的列表。他点击一个项目,回调函数接收记录。它将它推入新视图 - 细节并显示它。用户可以从那里披露演示幻灯片 - 数据记录再次从细节传递。

问题是当用户刷新页面或来自URL时。如果他像/ presentations / slides / 1那样来到url,他希望看到幻灯片的演示文稿ID:1。问题是,只要他不在列表中,数据就没有被加载,并且因为没有加载,所以没有传递给细节,细节也没有将它传递给幻灯片视图。所以我没有数据。

但我还有身份证!来自PHP的Zend Framework,我会称之为:this.store.find(1),但我找不到任何方法来做到这一点。

如何根据商店record.data.id加载商店中的商品?

要添加更多内容,store.load()似乎异步工作,所以当我这样做时:

store.load();
store.each(function(rec){console.log(rec);});

它不适用于JSONP存储,因为尚未加载数据。但是,当我使用Chrome Debuger并暂停执行以让数据加载时,它可以正常工作:(

1 个答案:

答案 0 :(得分:0)

你是正确的,负载是异步的,所以你要做的就是使用商店的回调功能。您可以在How to get data from extjs 4 store

找到示例