我是sencha Touch的初学者,基本上我是黑莓开发者。目前我们正在迁移我们的应用程序以支持Sencha Touch 1.1。现在我有一些业务解决方案,比如我想将所选值存储在本地数据库中。我的意思是我有多个屏幕,一旦用户在每个屏幕中选择一个值,数据应该以下面的格式保存。
[{'key1':“value1”,“key2”:“value2”,“key3”:“value3”,“key4”:“value4”,“key5”:“value5”}] < /强>
1。首先,需要将值保存在键值对
中2。密钥应该扮演主键的角色,密钥不应该重复。
第3。应该在应用程序生命周期或应用程序会话之前可用,不需要永久保存数据。
我遇到过像LocalStorageProxy,JsonStore和其他一些概念。我不明白哪一个可以用于我的具体要求。
可能是我的问题有点混乱。我在Blackberry Java中实现了相同的使用向量,因此任何与此类似的数据结构都可以帮助我。需要像
这样的基本操作请为我推荐一些示例或一些代码快照,这可能有助于我实现这一目标。
修改:1
我根据@ Ilya139的回答做了改动。现在我可以使用密钥
添加数据// this is my Object declared in App.js
NSDictionary: {},
// adding the data to object with key
MyApp.NSDictionary['PROD'] = 'SONY JUKE BOX';
//trying to retrieve the elements from vector
var prod = MyApp.NSDictionary['PROD'];
Nut无法使用上述语法检索元素。
答案 0 :(得分:1)
如果您不需要永久保存数据,那么您可以拥有一个具有所需属性的全局对象。首先像这样定义对象:
new Ext.Application({
name: 'MyApp',
vectorYouNeed: {},
launch: function () { ...
然后将键值对添加到对象中,如下所示
MyApp.vectorYouNeed[key] = value;
然后像这样获取它们
value = MyApp.vectorYouNeed[key];
请注意,key是一个字符串对象,即var key='key1';
,值可以是任何类型的对象。
删除一个值MyApp.vectorYouNeed[key] = null;
并删除所有值MyApp.vectorYouNeed = {};