【问题标题】:Proper way to use jQuery Mobile for data-driven apps?将 jQuery Mobile 用于数据驱动应用程序的正确方法?
【发布时间】:2012-08-07 15:05:33
【问题描述】:

我已经开始使用 jQuery Mobile,我正在尝试了解我应该如何处理点击和传递数据。例如,我有一个项目列表视图。点击后,我想将用户带到应用程序中的另一个页面,该页面基于单击的项目 ID 生成。我会将数据 ID 存储在自定义 data-* 属性中并将单击事件绑定到它,以便我可以将它们发送到其他页面吗?还是我应该使用本机方法或第 3 方库?我正在使用 REST 服务,但如果这有所不同,则底层后端是 ASP.NET MVC 应用程序。任何帮助或建议将不胜感激。

【问题讨论】:

    标签: javascript jquery-mobile jquery mobile-website


    【解决方案1】:

    我使用的是 Sencha Touch 而不是 jQuery Mobile。但是 Sencha Touch 对路由提供了很好的支持,这就是您要解决的问题的名称。您应该仔细考虑是否希望在客户端或服务器端进行路由。 Sencha Touch 支持客户端,这正在成为更流行的方法,因为它有助于良好的离线行为。从我读过的内容来看,jQuery Mobile 可能有 imperfect routing 支持,但其他库(例如 Backbone)可以 fill the gap。另见Spine,胸部。 Spine 特别推荐给我用于移动路由。 This site 提出了一个 jQuery 补丁来改进路由。

    【讨论】:

    • 相信我,我喜欢 Sencha,它是目前最好的移动网络。不过,这个特定项目需要它与 Windows 手机一起使用 :(
    • 明白了;希望 Spine、Backbone、Thorax... 或带有 mods 的 jQuery 可以解决问题。
    • 我明白了,所以这完全是关于哈希路由不再绑定。这对我来说是一种思维转变,因为我习惯于在网站上附加数百个 jquery 绑定。我承认这似乎是一种过时的方法。
    【解决方案2】:

    JQM 会为您完成这项工作,只需将链接放入您的列表视图 LI 元素中,JQM 就会用箭头呈现它们,并通过 AJAX 拉入内容。

    <ul data-role="listview">
      <li><a href="/page?item=1">Item 1</a></li>
      <li><a href="/page?item=2">Item 2</a></li>
    </ul>
    

    然后 URL /page?item=1 应该为该项目生成页面内容:

    <div data-role="page">
        ...
    </div>
    

    【讨论】:

      猜你喜欢
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 2012-06-12
      相关资源
      最近更新 更多