我如何使用jqm.page.params.js插件?

时间:2012-03-31 03:13:22

标签: jquery jquery-plugins jquery-mobile

我正在使用jquery mobile,我正在尝试在同一页面内传递变量。

<a href="page2.html?var1=foo&var2=bar">link1</a>
<a href="page2.html?var1=something&var2=bbq">link2</a>

点击链接后,页面将被放入DOM中。我知道我将不得不重新加载页面以允许应用新变量,但我没有成功地使用:

$.mobile.changePage("page2.html", {reloadPage : true,});

当页面加载时我使用以下内容:

$(document).delegate('#page2','pageinit', function(){           

   $.mobile.changePage("page2.html", {reloadPage : true});          

});

上面的代码只会将页面置于永久循环中,这显然不是我想要的。我试图将pagein取出页面,但是在pageinit中需要它的原因是后退按钮可以工作。那么我想也许我可以从url中获取变量,所以我尝试使用jqm.page.params.js进行以下操作:

$(document).delegate('#page2','pageinit', function(){           

   if ($.mobile.pageData && $.mobile.pageData.proj_id){
      console.log("Parameter var1=" + $.mobile.pageData.var1);//does not print at all.
   }

   console.log("Parameter obj =" + $.mobile.pageData); // prints NULL           

});

我在文档中找到了插件的链接,假设允许您使用名为jqm.page.params.js的网址中的参数,但没有关于如何使用此插件的示例。

这里有没有人知道如何使用这个插件?或者,当您在同一页面链接到同一页面但具有不同变量时,是否有更好的方法来传递变量?

1 个答案:

答案 0 :(得分:2)

我认为pageinit太早,所以没有解析参数。为您的听众尝试pagebeforeshow

See the answer to this question