lar*_*ryq 10 extjs sencha-touch
我正在使用Sencha Touch作为移动应用程序,并且正在使用MVC功能.我非常喜欢Sencha,但是在使用控制器将数据从一个"屏幕"传递到下一个屏幕时,我遇到了一些麻烦.
有一个"记录"属性与一些Sencha小部件相关联 - 例如,在Ext.list中指示当前选择的记录 - 由于某种原因,我无法完全知道如何传递类似于一个Ext.Panel到另一个.
例如,我有一个Ext.Panel,其中有来自Ext.Store的数据,包括一个地址.我有另一个将显示地图的Ext.Panel.我需要将此地址传递给地图的面板,但我不确定如何.这是我在第一个面板上尝试的内容:
listeners: {
'tap': function () {
Ext.dispatch({
controller: app.controllers.establishments,
action: 'showMap',
id: record.getId(),
data: record.data
});
}
Run Code Online (Sandbox Code Playgroud)
我正在挣扎,你可以看到,尝试在控制器中使用'id'和'data'配置选项,试图通过任何必要的手段将数据传送到地图面板.
我不一定需要针对这个特定问题的答案,但是如果你有关于如何一般地做这个的建议 - 基本上是将数据从一个屏幕传递到下一个屏幕的最佳实践.
如果它有帮助,我将我的应用程序结构基于Pearce先生在Sencha的一个很好的MVC教程:
http://www.sencha.com/learn/Tutorial:A_Sencha_Touch_MVC_application_with_PhoneGap
非常感谢!
我认为你在Ext.Dispatch的正确轨道上.您在Dispatch选项对象中添加的参数将传递给控制器上的action方法.
例如
showMap: function(options){
var id = options.id;
//load data based on the id and pass it to your map
...
}
Run Code Online (Sandbox Code Playgroud)
我还认为你应该在Dispatch选项对象上设置historyUrl,这样如果他们刷新页面,id仍然会被发送到控制器动作.
归档时间: |
|
查看次数: |
10383 次 |
最近记录: |