我$.mobile.navigate("#test-page", {id:123})用来导航到辅助页面。
$.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如下:
<div id="test-home" data-role="page"> <div data-role="header"> <h1>Test Home</h1> </div> <div data-role="content"> <div id="test-btn"> Click DIV for TEST page </div> </div> <div data-role="footer"> </div> </div> <div id="test-page" data-role="page"> <div data-role="header"> <h1>Test Page</h1> </div> <div data-role="content"> Test page </div> </div>
希望有人能帮忙。谢谢!
$.mobile.navigate和navigate event ,用于跟踪URL历史记录并从URL传递/获取数据。它们与浏览器的导航(后退/前进)一起使用。
$.mobile.navigate
navigate
要使用内部导航在Webapp内的页面之间动态传递数据,请使用$.mobile.changePage。
$.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); });