我有一个手机包装的sencha touch(v1.1.1)应用程序,它有几个商店和一个列表。
以“User1”登录后出现此问题,然后注销并以“User2”重新登录。该列表不会使用商店代理提取的新帐户数据进行刷新。
我正在尝试在List
本身上调用.refresh()
,根据文档,这也会导致商店刷新其数据(尽管如此,我还是手动执行此操作)
var sL = Ext.getCmp('AccountsList');
sL.refresh();
sL.scroller.scrollTo({x:0,y:0});
我们还尝试.sync()
商店没有结果。
Ext.getStore('AccountsTransfersTo').sync();
Ext.getStore('AccountsTransfersFrom').sync();
Ext.getStore('AccountsStore').sync();
知道问题是什么,或者有没有人碰到类似的东西?
答案 0 :(得分:3)
答案 1 :(得分:1)
这听起来像是一个缓存问题。或国家问题。 一条链接: http://html5wood.com/sencha-touch-difference-between-ext-get-and-ext-getcmp/
从页面: Sencha Touch:Ext.get()和Ext.getCmp()
之间的区别重要说明:由于再次检索时的简单缓存,它返回相同的元素对象。这意味着它在第二次时间返回错误的元素。 Ext.fly()可以用来避免这个问题。
希望它有所帮助 麦克答案 2 :(得分:0)
您可以每次加载商店
var sL = Ext.getStore('AccountsTransfersTo')
sL.load();
sL.scroller.scrollTo({x:0,y:0});
或者您可以尝试清除数据存储并重新加载
var sL = Ext.getStore('AccountsTransfersTo')
sL.removeAll();
sL.load();
sL.scroller.scrollTo({x:0,y:0});