gpt4 book ai didi

javascript - OnsenUi getCurrentPage() 给出空对象

转载 作者:行者123 更新时间:2023-11-28 00:01:48 28 4
gpt4 key购买 nike

我正在使用 Onsen UI 构建混合移动应用程序,但在两个页面之间导航和传输数据时遇到问题。我的起始页面是index.html,它包含一个 main.html ons-template 和一个ons-navigation 以及一个相互内部的ons-page 元素。 index.html的结构是:

<body>
<ons-sliding-menu main-page="main.html" menu-page="menu.html" side="left" type="reveal" var="menu">
</ons-sliding-menu>

<ons-template id="main.html">
<ons-navigator var="navi">
<ons-page id="main-page" class="main-page" ng-controller="MainPage">
</ons-page>
</ons-navigator>
</ons-template>
</body>

我想通过 popPage() 函数的选项获取从 search-city.html 发回的数据,但是当我尝试获取导航器的 currentPage 对象时,它给了我一个没有名称和的空页面对象选项。

在 Chrome 控制台中:

Class {page: "", name: "", element: JQLite[1], pageScope: Object, options: Object…}

只有当它尝试获取主页时它才是空的。另外,当我在 search-city.html Controller 中运行 getPages() 时,第一页是空的,而 search-city.html 很好:

Class {page: "search-city.html", name: "search-city.html", element: JQLite[1], pageScope: Object, options: Object…}

我尝试发回数据并使用 popPage() 方法从 search-city.html 导航:

navi.popPage({ animation: 'lift' , data: 'something'});

我尝试使用 postpop 事件处理程序获取主页 Controller 中的数据:

navi.on('postpop', function(event) {
var page = navi.getCurrentPage();
console.log('popped');
console.log(page);
});

问题是页面是空的,如我上面所示。为什么我的主页在页面堆栈中是空的?初始化后也是空的,运行getCurrentPage()

我做错了什么吗?有没有更好的方法在页面之间传递对象?我更喜欢 jQuery,对 AngularJS 不太熟悉。

这是关于ons-navigation的文档:http://onsen.io/reference/ons-navigator.html#method-popPage

很抱歉这篇文章很长。

最佳答案

我认为,如果您将主 ons-page 直接放在导航器中,该页面将没有名称(ID 有所不同)并且无法在其中读取它currentPage 对象。您只需命名您的主页即可,我认为它会正常工作:

<ons-sliding-menu main-page="navigator.html" menu-page="menu.html" side="left" type="reveal" var="menu">
</ons-sliding-menu>

<ons-template id="navigator.html">
<ons-navigator var="navi" page=main.html>
</ons-navigator>
</ons-template>

<ons-template id="main.html">
<ons-page id="main-page" class="main-page" ng-controller="MainPage">
</ons-page>
</ons-template>

希望对你有帮助!

关于javascript - OnsenUi getCurrentPage() 给出空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31729652/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com