jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – Backbone和jqm:后退按钮如何恢复页面上下文大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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(带有tempData)然后来自view2 – >视图3(覆盖相同的tempData).现在,这是我的问题:如果我们想从视图3返回 – >在视图2中,我们将需要用于初始化和渲染视图的tmpData内容2.当我们想要返回view1时也是如此.

注意:我没有使用骨干路由器,但如果能解决我的问题,我可以改用它.

有什么想法吗?

解决方法

好的,让我们再试一次.我们将实现一个页面路径键入的数据存储.

var pagesData = {};

// Let's assume we just switched to page '/my/page/1'

// Get a reference to the stored page data if it exists,// or create it empty and return it.
var currentPageData = pagesData[window.location.pathname] ||  
                     (pagesData[window.location.pathname] = {});

currentPageData.foo = 'bar';

console.log(pagesData['/my/page/1'].foo); // > "bar"

现在,您的所有页面都有一个“本地”数据存储区,允许它们在整个导航过程中保存其状态/数据.

注意:如果不使用pushState,则必须使用window.location.hash代替window.location.pathname作为PagesData中的键.

大佬总结

以上是大佬教程为你收集整理的jquery – Backbone和jqm:后退按钮如何恢复页面上下文全部内容,希望文章能够帮你解决jquery – Backbone和jqm:后退按钮如何恢复页面上下文所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: