在Jquery移动中重用动态内容的最佳方法

时间:2014-10-10 20:51:52

标签: jquery html jquery-mobile

我有一个jquery移动应用程序,我需要重用相同的内容。我创建了html内容并且可以将它附加到页面而没有任何问题,但我需要重复使用相同的内容来跟踪每次显示时所选择的内容。

就是这样......

用户选择他们想要的服务类型。

根据该选择,我有默认次数需要显示动态内容。

我加载动态内容,然后进行选择。该选择将被存储并在以后的计算中使用。

然后,我需要重新显示相同的动态内容,只需更改标签中的文字。

用户进行另一次选择,我需要再次存储选定的值以供以后使用。

最好的方法是什么?我一直在网上寻找一些没有运气的想法 感谢

1 个答案:

答案 0 :(得分:0)

如果在数据容器的“生命周期”期间未重新加载页面,则可以使用全局对象。最好的方法是将其附加到全局window对象。

window.$myElementReference = $(#some-element);

如果您有多个需要全局访问的对象,您可以使用一个小类来管理存储的对象。它看起来像这样:

window.storageManager =
{
    _shelf : {},

    has : function(key)
    {
        return window.storageManager._shelf[key] ? true : false;
    },

    get : function(key)
    {
        return window.storageManager._shelf[key] || null;
    },

    put : function(key, value)
    {
        window.storageManager._shelf[key] = value;
    }
};

你可以像这样使用它:

var mySettings =  { foo: 'bar' };
window.storageManager.put('mySettings', mySettings); // stores the mySettings object

// somewhere completely different
var mySettings = window.storageManager.get('mySettings'); // returns mySettings object

你甚至可以在jQuery创建的DOM节点上使用它:

var $myElem =  $('#elem');
window.storageManager.put('myElem, $myElem); // stores the mySettings object
var $referenceToMyElem = window.storageManager.get('myElem');

当然,在代码库的随机位置抛出DOM节点并不是很好的编码。但对于少数情况,上述代码应该会有所帮助。