-1

我们正在使用 jQuery mobile 制作一个具有近 15 个模块的 phonegap 移动企业应用程序(大量信息捕获和显示)。我们基本上希望从 Page1 导航到 page2 到 page3 并具有返回和下一个功能,然后在 page3 提交。现在,当我从 page1 导航到 page2 到 page3 然后返回时,我希望我的所有数据都保存在控件中,如何实现这一点?我不期待将所有的 div(页面)放在一个页面中,纯粹是因为它变得非常拥挤,尽管我们使用的是单页面实现技术。

当我说要维护的数据时,我的意思是,无论在 page1 中填写什么数据,一旦我在说导航 page2 和 page3 后返回到该页面时,就会保留该数据,即接下来填充 Page1 -> 填充 page2 next-> 填充 page3 -> page2(数据保留)返回-> page1(数据保留)

4

1 回答 1

0

如果您的意思是保留页面的状态,并且不想将其保留在 DOM 中。我推荐你Backbone。该框架允许您将元素存储在单独的视图对象中。您可以随意从 DOM 中销毁它,然后将其连同所有“数据”一起放入 :) - 任何时候都可以。

jQuery Mobile 和 Backbone 确实有点冲突。它们在导航机制上重叠,JQM 是基于标记的,Backbone 是程序化的。但是你可以很容易地解决这个问题。我更喜欢使用 Backbone 来完成这种工作。以下是禁用 JQM 导航的方法:

$(document).bind("mobileinit", function() {
  $.mobile.ajaxEnabled = false;
  $.mobile.linkBindingEnabled = false;
  $.mobile.hashListeningEnabled = false;
  $.mobile.pushStateEnabled = false;
});

$('div[data-role="page"]').live('pagehide', function(event, ui) {
  return $(event.currentTarget).remove();
});

这是我从Christophe Coenraets那里偷来的:P

其余的,如何使用 Backbone 进行页面导航……,你应该阅读Backbone Documents

您可以将 JQM 用作 UI 框架。Backbone 作为 MV* 框架。如果你还不知道如何使用 Backbone,你应该学习它。值得你花时间:)

于 2012-12-17T11:05:26.383 回答