javascript – jQuery Mobile navigate – 为什么状态为空?

前端之家收集整理的这篇文章主要介绍了javascript – jQuery Mobile navigate – 为什么状态为空?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用$.mobile.navigate(“#test-page”,{id:123})导航到辅助页面.

页面页面的导航工作正常….但状态是空的!

文档清楚地表明,状态应包含执行导航时所需的所有信息.

这是我正在使用的代码

$(window).on('navigate',function(event,data) {
  console.log("navigated",data);
  console.log(data.state.info);
  console.log(data.state.direction);
  console.log(data.state.url);
  console.log(data.state.hash);
  if (data.state.hash === "test-page") {
    console.log("Test page",data.state.id);
  }
});

不幸的是,数据传递为空:

{
    state:{}
}

HTML如下:

希望有人可以提供帮助.谢谢!

最佳答案
$.mobile.navigate和导航事件用于跟踪URL历史记录并从URL传递/获取数据.它们使用浏览器的导航(后退/前进).

要使用内部导航在webapp中动态传递页面之间的数据,请使用$.mobile.changePage.

资源:

> $.mobile.navigate()
> Navigate
> $.mobile.changePage()

使用以下代码将数据从页面传递到另一个.

$.mobile.changePage('store.html',{
 dataUrl: "store.html?id=123",data: {
    'id': '123'
 },reloadPage: true // force page to reload
});

检索数据

$('.selector').on('pagebeforeshow',function () {
 var values = $(this).data("url").split("?")[1];
 id = values.replace("id=","");
 console.log(id);
});

猜你在找的jQuery相关文章