我正在使用 Backbone、require 和 jQuery mobile 作为技术堆栈构建 HTML5 移动应用程序。该应用程序与后端 Web 服务等的连接非常流畅。要在页面之间进行更改,我使用 jQuery changePage。为了实例化 Backbone 视图,我使用以下策略:
$( document ).delegate("#card-delivery-address", "pageshow", function(){
require(["js/views/cardDeliveryAddressViews.js" ], function(cardDeliveryAddressViews) {
new cardDeliveryAddressViews();
});
});
$.mobile.changePage('deliveryAddress.html') => 使用 jquery mobile 更改当前页面
当在#card-delivery-address上触发名为“ pageshow ”的事件时 (这意味着我的页面已插入 DOM 并成功呈现)=> 创建主干视图并将 $el 绑定到现有 DOM 并控制使用主干视图的 DOM 事件。
- 为了在视图之间传递数据和实例,我们使用一个 window.tempData 全局变量,我们将上下文数据放入其中,以便新视图知道该做什么。
以一种方式导航是成功的,假设我来自 view1 --> view2 (with tempData) 然后来自 view2 --> view 3 (覆盖相同的 tempData)。现在,这是我的问题:如果我们想从视图 3 返回 --> 视图 2,我们将需要用于初始化和渲染视图 2 的 tmpData 内容。当我们想返回视图 1 时也是如此.
注意:我没有使用骨干路由器,但如果可以解决我的问题,我可以更改为使用它。
有什么想法吗?