温泉 - 导航器和滑动菜单 - 预推功能不起作用

Onsen - navigator and sliding menu - function on prepush doesn't working

我有一个大问题。 我想使用导航器和滑动菜单。然后我需要在 postpush 上有一些行为。

这是我的代码笔示例:

http://codepen.io/anon/pen/zxgpVo

如果您留在主屏幕并从此处开始导航,那么您会看到 console.log。 但是,如果您从滑动菜单切换到“产品”,那么 console.log 将不起作用,如果您在主页中的 return 在这里不再起作用。

我创建了 2 个同名的导航器。这是正确的事吗?也许这可能是问题所在?

<ons-template id="home.html">
  <ons-navigator page="page0.html" var="myNav"></ons-navigator>
</ons-template>

<ons-template id="products.html">
  <ons-navigator page="page_products.html" var="myNav"></ons-navigator>
</ons-template>

我不知道如何创建一个工作示例。

希望有人能帮助我。

谢谢!

我将尝试解释那里发生的事情(或者,至少,我的理解):

项目的根目录是 ons-sliding-menu,然后有两个 child,每个菜单条目一个(home产品)。每个 child 都是一个同名的 ons-navigator,但这应该无关紧要,因为它们不会同时是 "alive"。 当您在 home 并使用 menu.setMainPage('products.html') 时,您正在杀死 home 的导航器并创建 product 的导航器。您的活动仅在一开始就有效,因为您仅在第一次ons.ready()将它们关联到家庭导航器。因此,当您使用 setMainPage 时,您正在破坏具有这些事件的导航器,而新的导航器将不会有它们。

您可以在创建导航器本身时指定 postpush/prepush 事件,而不是将事件关联到 ons.ready 上的导航器。文档中解释了一些属性:http://onsen.io/reference/ons-navigator.html#attributes

希望对您有所帮助!