Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sencha touch Sencha Touch:如何读取商店中的某些记录?_Sencha Touch_Extjs_Store - Fatal编程技术网

Sencha touch Sencha Touch:如何读取商店中的某些记录?

Sencha touch Sencha Touch:如何读取商店中的某些记录?,sencha-touch,extjs,store,Sencha Touch,Extjs,Store,我有一个具有3级数据深度的应用程序: 发言清单 演示细节 演示幻灯片 现在,当用户来到应用程序时,他看到了从JSONP商店加载的列表。他单击一个项目,回调函数接收记录。它将其推送到新视图中,即详图并显示它。用户可以从此处公开演示幻灯片-再次从详细信息传递数据记录 问题是当用户刷新页面或来自URL时。如果他访问url,如/presentations/slides/1,他希望看到演示id为1的幻灯片。问题是,只要他不在列表中,数据就不会加载,因为数据没有加载,所以不会传递给细节,细节也不会传递给

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

  • 发言清单
  • 演示细节
  • 演示幻灯片
现在,当用户来到应用程序时,他看到了从JSONP商店加载的列表。他单击一个项目,回调函数接收记录。它将其推送到新视图中,即详图并显示它。用户可以从此处公开演示幻灯片-再次从详细信息传递数据记录

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

但我还有身份证!根据PHP的Zend框架,我会调用类似这样的东西:
this.store.find(1)
,但我找不到任何方法来实现这一点

如何根据存储的
record.data.id
从存储中加载内容

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

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

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

你是正确的,加载是异步的,所以你所要做的就是使用存储的回调函数。你可以在这里找到一个例子

是的,问题是:如何延迟运行操作?我正在调度过程中,如果我使用回调,它将在代码中进一步失败,这里假设它有记录。但我仍然无法要从存储区接收一条记录,请执行以下操作:(您可以根据回调函数中的记录移动所有代码,也可以在加载存储时设置侦听器,然后在知道存储已加载的情况下将代码添加到其中。然后从存储中加载一个确切的项?在回调或加载事件激发的函数上,可以使用var rec=store.findRecord('id',idofrecyuwant)