sencha touch store 中的隐式 load()
Posted
技术标签:
【中文标题】sencha touch store 中的隐式 load()【英文标题】:implicit load() in sencha touch store 【发布时间】:2020-01-09 16:15:39 【问题描述】:我有一个简单地由模型和 autoLoad=false 定义的 sencha touch store。该模型的配置中只有字段,所以我猜数据存储在内存中,对应用程序来说是全局的,对吗? (我是煎茶新手)
Ext.define('App.store.DataSession',
extend: 'Ext.data.Store',
requires: ['App.model.DataSession'],
config:
model: 'App.model.DataSession',
autoLoad: false
);
我的问题是,我看到的代码没有显式地从商店加载数据,即使商店的 autoLoad 为 false
var storesession = Ext.getStore('DataSession');
var datasession = storesession.getAt(0);
if(datasession.get('state') == "1")
....
getStore() 函数是否隐式加载数据?不使用 load() 有什么影响?
【问题讨论】:
【参考方案1】:getStore()
为您提供对商店的引用。
如果你想加载数据,你必须例如:
var storesession = Ext.getStore('DataSession');
storesession.load(
params:
id: 1 // some parameters
,
callback: function(records, operation, success)
if(success)
var datasession = storesession.getAt(0);
if(datasession.get('state') == "1")
....
);
看看这里:https://docs.sencha.com/extjs/7.0.0/modern/Ext.data.Store.html
【讨论】:
感谢您的回复;)我不知道没有 load() 的代码是如何工作的,以及为什么带有回调的代码不返回任何数据(在记录中或做 storesession.getAt(0 ))。没有load(),数据来自内存而不是调用代理?以上是关于sencha touch store 中的隐式 load()的主要内容,如果未能解决你的问题,请参考以下文章
Sencha Touch 2:同一个 Store 中的两个 REST 请求
无法在 sencha touch 中的 localstorage 上设置嵌套的 json 数据
Sencha Touch 2 - 我如何通过回调调用 JsonP 中的细节