Sencha Touch 添加个人记录到存储
Posted
技术标签:
【中文标题】Sencha Touch 添加个人记录到存储【英文标题】:Sencha Touch add individual records to store 【发布时间】:2014-05-16 19:52:54 【问题描述】:我已经和这个人战斗了一段时间。看似微不足道,却又无从下手。 我只想创建一个商店,然后用基于 UI 操作的记录慢慢填充它。 (按一个按钮 > 将数据添加到商店,按下一个按钮 > 将该数据添加到商店等...)
每当我尝试添加新记录时(在添加第一个记录之后),之前的记录都会被清除,我的商店始终只有 1 条记录。
如何向存储中添加新记录(在不同的时间,不断添加新的单独记录)?
preparePost: function(data)
//data is an object that comes from a button config...
var mod = Ext.define('App.model.PostAttendanceModel',
extend: 'Ext.data.Model',
config:
identifier:
type: 'uuid'
,
fields:[
'items'
]
);
var createStore = Ext.create('Ext.data.Store',
model: mod,
storeId:'PostAttendanceStore'
);
var getStore = Ext.getStore('PostAttendanceStore');
var store = typeof createStore != "undefined" ? getStore : createStore;
var items =
attendancereasonid: data.attendancereasonid,
level: data.level,
personid: data.personid
;
store.add(items);
console.info(store);
//it is always the last record added, without "previous" records!
【问题讨论】:
你真的只想要一个包含对象的字段items
吗?虽然它可以工作,但存储与字段保存原始类型的数据库表最相似。以上看起来像是attendancereasonid
、level
和personid
字段的候选对象。
我计划稍后将 items 数组发送到服务器,如下所示:screencast.com/t/owNf90fAtg
那是单独的字段,像这样的 json 是由 json writer 自动生成的。继续处理各个字段。
我同意这一点,但仍然 - 它只是保存最近添加的记录。出于某种原因,我无法在商店中添加超过一条记录。
【参考方案1】:
无论出于何种原因,它都不喜欢我动态创建模型和存储。因此,我创建了适当的模型和存储文件,将它们放入适当的 MVC 结构中 - 现在是
store.add(items)
方法有效。
【讨论】:
问题是您创建了一个模型并存储了已使用的名称/ID,这将始终导致问题 那么当 preparePost() 在不同的时间被调用时,有没有办法解决这个问题? 对不起,我的评论应该只是对你的基本问题的解释,不同文件作为MVC结构的解决方案刚刚好。以上是关于Sencha Touch 添加个人记录到存储的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 ajax 在 javascript 中使用个人 http 标头加载图像(sencha touch 2)