Sencha touch 我应该使用哪个事件加载将在Sencha Touch中填充表单的存储?
当视图进入视口时,我希望能够加载存储并将检索到的模型设置到视图中的表单上。但是,我不太确定我应该使用哪个事件来实现此目的 是否应在视图的“绘制”事件中执行此操作,视图是否应激发回控制器,然后填充视图,或者是否有其他建议的方法执行此操作 我目前认为:Sencha touch 我应该使用哪个事件加载将在Sencha Touch中填充表单的存储?,sencha-touch,sencha-touch-2,Sencha Touch,Sencha Touch 2,当视图进入视口时,我希望能够加载存储并将检索到的模型设置到视图中的表单上。但是,我不太确定我应该使用哪个事件来实现此目的 是否应在视图的“绘制”事件中执行此操作,视图是否应激发回控制器,然后填充视图,或者是否有其他建议的方法执行此操作 我目前认为: listeners: { painted: function () { var contactStore = Ext.getStore("theContactDetailsStore");
listeners: {
painted: function () {
var contactStore = Ext.getStore("theContactDetailsStore");
contactStore.load({
scope: this,
callback: function (record, operation, success) {
if (success && record[0]) {
this.setRecord(record[0]);
}
}
});
}
}
绘制的事件应用于执行一些低级DOM操作,如固定元素大小、位置等。 这就是我的建议:
- 首先加载应用商店,最后在加载之前用“加载…”消息屏蔽视口,这样,如果操作需要时间,用户就不会觉得应用程序崩溃了
- 在store“load”回调函数中,显示表单视图,将所需的数据模型作为“record”配置参数传递
PS:如果在加载存储之前屏蔽了视口,请记住在显示表单之前在“加载”回调中取消屏蔽它。有两种方法可以处理此问题:
好的,很好,但是我仍然不清楚商店的负载应该发生在哪里。我应该听什么节目?在控制器或视图中的何处?只需调用store“load”方法,设置回调函数即可显示表单。从控制器上执行此操作。看一下文档:好的,我理解load方法回调。我在问题中添加了一个代码示例。当前另一个控制器显示视图,我使用视图中的绘制事件来加载。我不喜欢视图侦听器中的代码,也不想在控制器中加载存储,因为控制器用于不同的视图。希望你能理解我的困境。。。