我正在使用$.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);
});