Sencha Touch MVC——通过控制器传递数据的推荐方式?

2023-11-25

我正在使用 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
                    });
                }

正如您所看到的,我有点挣扎,尝试在控制器中使用“id”和“data”配置选项,以尝试通过任何必要的方式将数据获取到地图面板。

我不一定需要这个特定问题的答案,但如果您对如何执行此操作有一般建议 - 基本上是将数据从一个屏幕传递到下一个屏幕的最佳实践。

如果有帮助的话,我的应用程序结构将基于 Sencha 的 Pearce 先生提供的精彩 MVC 教程:

http://www.sencha.com/learn/Tutorial:A_Sencha_Touch_MVC_application_with_PhoneGap

非常感谢!


我认为 Ext.Dispatch 的方向是正确的。您在调度选项对象中添加的参数将传递到控制器上的操作方法。

E.g.

showMap: function(options){ 
               var id = options.id; 
               //load data based on the id and pass it to your map
               ...
         }

我还认为您应该在 Dispatch options 对象上设置historyUrl,这样如果他们刷新页面,id 仍然会被发送到控制器操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sencha Touch MVC——通过控制器传递数据的推荐方式? 的相关文章

  • 从 ExtJS 请求到 node.js 时出现 CORS 问题。请求或响应标头不正确?

    我在网络内两个不同域之间向 Nodejs 服务器发出 ExtJS AJAX 请求时遇到问题 非常感谢任何帮助 当尝试从 ExtJS 客户端的 http 和 https 时 响应失败 但我本地的 Curl 通过 http 返回 200 OK
  • 如何防止 Ext Js 树中检查更改时的 itemclick 事件

    我在 Ext tree Panel 中添加了两个侦听器 检查更改 和 项目单击 但我注意到 当检查发生更改时 它也会触发项目单击事件 我希望阻止该项目的点击事件 listeners checkchange function node che
  • ExtJS菜单checkItem:如何防止在某些情况下出现项目检查事件?

    对于菜单checkItem 当用户点击它时 默认会触发checkchange 我想知道如果满足某种情况 如何在单击后不更改其检查状态 换句话说 停止此事件链 我尝试了以下代码 但不起作用 listeners click function i
  • 使用 ExtJ 进行多选组合框

    如何实现多选组合框作为Ext FormPanel使用ExtJs 我一直在寻找 但似乎找不到与最新版本的 ExtJs 兼容的解决方案 这个问题 https stackoverflow com questions 2635809 multise
  • ExtJS AJAX 另存为对话框

    我发出 ExtJS AJAX 请求 并且希望向用户显示标准浏览器 另存为 对话框 要下载的文件可以是 pdf jpg 或 png 文件 目前 AJAX 请求已成功提交 但由于它是异步的 因此不会出现对话框 我可以简单地不使用 AJAX 但是
  • 如何设置pagingtoolbar输入项值

    我这里有问题 我在分页工具栏上绑定了一个商店 该商店有多个页面 例如我将当前页面更改为第2页 然后通过搜索表单更改只有一页的商店内容 网格加载收集数据 但输入项仍然显示它位于第 2 页 我希望它在调用搜索事件后显示 1 我不想使用 stor
  • Ext.data.Store getTotalCount() 加载后不计算

    我的商店在调用时并不总是返回正确数量的记录getTotalCount 这个问题出现在我之后load 商店 我知道在检查时商店里有记录 我正在使用 ExtJs 4 1 3 this grid reference to my grid var
  • Extjs 4.2 缓冲存储同步数据不起作用

    这是商店代码 Ext define NG store WhatsNews extend NG store AbstractStore model NG model auxClasses notifications WhatsNew alia
  • 如何在 ExtJs 中添加复制到剪贴板功能?

    如何在 ExtJs 中添加复制到剪贴板功能 它在 IE 浏览器中工作正常 但在 Firefox 中不行 还需要进行哪些更改才能使其在 FF 浏览器中工作 Code function selectCopy txt txtId Ext getC
  • extjs 6.0 sencha cmd 仅编译我的 javascript 代码

    我使用 sencha extjs 6 0 它总是将所有 extjs 代码编译为单个文件 我需要的是 1 需要extjs被编译成一个文件 我知道需要哪些包 所以它可以是静态的 不需要改变 2 然后sencha cmd将我自己的javascri
  • EXTJS 网格中的小数精度

    我有一个网格 允许用户通过编辑行来输入数字 我希望该数字支持 4 位小数 但它只支持 2 位 我想出了如何显示 4 位小数 但它不记录任何超过 2 位小数的内容 因此 如果用户输入 1000 1111 结果字段将在网格中显示 1000 11
  • 动态使用存储中的额外参数

    我有一个表格 在表格中 我使用的是comboBox with a store xtype combobox id SubContractor name SubContractor fieldLabel Sub Contractors sel
  • Extjs 4(下面有3.4的代码)下载从post请求返回的文件

    我看到了与此略有相关的问题 但没有一个能回答我的问题 我设置了 Ext Ajax request 如下 var paramsStringVar param1 1 param2 two param3 something param4 etc
  • Extjs组合框:隐藏下拉列表中的选定值

    我正在使用 ExtJS 4 并寻找一种可以从组合的下拉列表中隐藏当前选定值的方法 因此 代替这个 当前在组合框中选择 阿拉斯加 我希望值列表如下所示 就我而言 组合框是不可编辑 即您不能输入任意值 我认为两次显示所选值没有多大意义 一次在输
  • 单击父节点时检查树的子节点 [ExtJS]

    我想知道如何在单击 ExtJs 中的特定节点时检查树的同级节点 我已经给了每个节点的 id 我可以访问单击的节点的 id 那么我如何继续自动检查子节点 有人请帮助我 or any other way of getting hands on
  • ExtJs 4,从容器中删除控件并将其从内存中删除的正确方法是什么?

    这个问题很简单 但我找不到一个好的 明确的答案 正确的方法是什么 从容器中删除控件 在 ExtJs 4 中将其从内存中删除 Ext AbstractContainer remove http dev sencha com deploy ex
  • AJAX Webmethod 调用在 MVC3 上返回 404

    我一直在使用 EXTJS 4 并通过 AJAX 调用 aspx 页面代码隐藏上的 Webmethod 来加载我的商店 此方法适用于我的所有项目 直到我尝试将 EXTJS 4 工作移植到 MVC3 项目中 我的电话现在返回 404 关键部分是
  • 如何使用 JSON 结果更新 Extjs 进度条?

    我在让进度条从 Json 结果中检索进度并根据每 10 秒的计时器检查更新进度条时遇到一些困难 我可以创建这样的 json 结果 success true progress 0 2 我想总体思路是 我需要一个间隔设置为 10 秒的任务 并让
  • ExtJS 4.1:如何将本地数据与 ajax 加载的数据合并到单个存储中?

    我正在寻找一种将本地数据与 ajax 加载的数据组合到单个存储中的方法 我很难用英语解释这一点 我希望这段代码能更明确 var store Ext create Ext data Store autoLoad true fields id
  • 当我尝试使用 jasmine 进行测试时,应用程序文件夹未在 Ext.appliation 中加载

    我正在尝试在我的应用程序 Ext js 5 中实现茉莉花以进行单元测试 为此 我创建了应用程序测试文件 Ext require Ext app Application Ext Loader setConfig enabled true Ex

随机推荐

  • Rsyncing git repo 足够好的备份解决方案吗?

    我经常将笔记本电脑备份到外部硬盘 rsyncing git repos 是否足够好备份解决方案或者此方法有任何问题吗 rsync是一个很好的解决方案 跑步可能是个好主意git gc and git repack 不带任何参数 在进行备份之前
  • 使用 fs.readFile 从外部 URL 获取文件

    我的页面上有链接 单击该链接时我想要打开外部 docx 文件 很遗憾fs readFile只读取本地路径 I tried app get getfile function req res var externalURL http www e
  • Python 和 Selenium - 关闭所有选项卡而不关闭浏览器

    我想关闭所有打开的标签页 浏览器窗口 没有实际关闭驱动程序 因为我想继续使用它 driver close 只会关闭聚焦的选项卡 driver quit 将关闭它们 但也会退出驱动程序 我想过使用driver quit 然后重新打开驱动程序
  • 检查一个整数是否是另一个整数的整数幂

    这是一面试问题 给定 2 个整数 x 和 y 检查 x 是否是 y 的整数次方 例如 对于 x 8 和 y 2 答案为 true 对于 x 10 和 y 2 答案为 假 显而易见的解决方案是 int n y while n lt x n y
  • 如何从 std::deque 释放内存?

    我正在使用一个std deque存储相当大量的对象 如果我删除一堆这些对象 在我看来 它的内存使用量不会减少 与 std vector 类似 有办法减少吗 我知道在向量中你必须使用 交换技巧 我认为它在这里也适用 但我宁愿避免这种情况 因为
  • 如何在Java中获取当前日期并添加五个工作日[重复]

    这个问题在这里已经有答案了 我想要两次约会 1 当前日期 格式为 MM dd yy 2 修改日期为当前日期加上五个工作日 周一至周五 格式为 MMM dd yyyy 因此 如果我的当前日期是 6 月 9 日 则 currentDate 应为
  • 在人群区域录制音频时,如何使用 java 消除背景噪音?

    当我使用 JavaSound 或第三方声音捕获工具捕获并将其记录到文件中时 然后读回文件进行修改 有什么办法可以用我的java应用程序消除 背景噪音 例如主要人物说话时的道路交通 空气噪音 Thanks 消除背景噪音非常困难 如果是均匀噪声
  • 如何使用 ACL 相关表获取用户可以访问的对象列表

    我正在设计一个对用户管理 权限有很多要求的系统 因此我决定使用 Spring Security ACL 来管理域对象级别的权限 尽管如此 使用 ACL 来维护用户和实体之间的关系迫使我们依赖它在 UI 上呈现数据 Spring Securi
  • 对 QSlider 使用浮动

    我有一个 QLineEdit 和一个 QSlider 它们在其中相互交互 例如 如果我在 QLineEdit 中设置一个值 滑块将被更新 或者如果我滑动滑块 它将更新 QLineEdit 中的值 If user change value o
  • 如何在Eclipse中使用快捷方式打开运行配置窗口?

    当我进行多个Java应用程序时 我经常需要打开 运行 gt 运行配置 设置应用程序输入或其他参数 那么有没有办法用快捷方式打开这个窗口呢 您可以设置自定义快捷方式Run 命令 窗口 gt 首选项 gt 常规 gt 按键
  • 使用 ant 仅编译部分源代码树

    假设我的源代码在我的 src 树中 也可能在我的 test 树中 假设我只想编译part那棵树的 我想要这样做的原因是多方面的 举个例子 我可能想要创建尽可能最小的 jar 不包括某些类 或者我可能想要我正在编译的内容最快的编译时间 不过
  • 如何在非客户区绘图?

    我希望能够在窗口的非客户区域中的菜单栏右侧进行一些绘图 使用 C MFC 这可能吗 查理找到了答案WM NCPAINT 如果您使用 MFC 代码将如下所示 in the message map ON WM NCPAINT void CMai
  • 我无法接收远程视频流

    我在 Linux 上使用 google chrome 21 x 建立了 webrtc 对等连接 但无法接收任何远程视频流 给对等连接 onaddstream 的回调永远不会被调用 有人可以建议我需要查看的位置吗 我粘贴了整个代码 仍然无法接
  • 如何将 CSS 应用到 :before 内容之后的第一个字母?

    p class normal First character of this paragraph will be normal and will have fon p
  • 状态机、模型验证和 RSpec

    这是我当前的类定义和规范 class Event lt ActiveRecord Base state machine initial gt not started do event game started do transition n
  • 使用 Perl 模块与使用 system() 调用

    最近 我用 Perl 为 cPanel 插件编写了一些脚本 其中虽然大部分代码都是用 Perl 编写的 但也有相当多的 system 命令以及我用来直接执行 shell 命令的命令 我非常确定我可以使用 Perl 模块来代替 考虑到时间紧迫
  • 对多线程应用程序进行单元测试

    有人对多线程应用程序的单元测试有任何建议或了解任何框架吗 Do not unit测试多线程应用程序 重构代码以消除不同线程中完成的工作之间的耦合 然后分别进行测试
  • 清除 R / RStudio 中的启动屏幕

    我想更改我第一次打开 R 或实际 Rstudio 时看到的启动 登录屏幕 我想要的只是 gt 提示 仅此而已 我知道我以前在网上见过这个 但不记得搜索短语是什么 我应该补充说我正在使用乌班图Linux 有什么建议么 其他人给你建议如何停止这
  • 将选项值设置为选定的

    我想加载一个选择框 其中用户选择的值将自动出现 我正在从服务器接收带有用户信息的 Json 数据 数据样本是 color red 在我的 html 代码中 我有这样的选择选项
  • Sencha Touch MVC——通过控制器传递数据的推荐方式?

    我正在使用 Sencha Touch 作为移动应用程序 并使用其中的 MVC 功能 我非常喜欢 Sencha 但在使用控制器将数据从一个 屏幕 传递到下一个 屏幕 时遇到了一些麻烦 有一个与许多 Sencha 小部件关联的 记录 属性 例如