Onsen UI postpop事件未触发

时间:2015-07-26 19:59:02

标签: cordova javascript-events onsen-ui

我正在尝试在Cordova开发中使用onsen ui。

      <body ng-controller="AppController" > 

    <!-- Navigator as root element -->
    <ons-navigator var="myNavigator" ng-controller="SubController" ons-prepush="onPopPost($event)" ons-postpop="onPopPost($event)"> 
        <ons-page>
            <ons-toolbar fixed-style>
                <div class="left"></div>
                <div class="center"><img src=""></div>
                <div class="right"></div>
            </ons-toolbar> 
           <ons-tabbar position="top">
            <ons-tabbar-item active="true" page="latest.html" id="latestTab">
              <div class="tab">
                <ons-toolbar-button class="tabmain" modifier="outline">&nbsp;&nbsp;&nbsp;Latest&nbsp;&nbsp;<span id="notificationLatest" class="notification" style="display:none">*</span></ons-button>
              </div>
            </ons-tabbar-item>    
    </ons-tabbar>  
     </ons-page>  
    </ons-navigator> 

 <ons-template id="latest.html">
      <ons-page ng-controller="MainPageController" fixed-style>  
 </ons-page>
  </ons-template>

在app.js我有

module.controller('AppController', function($scope,$timeout) {
$scope.onPopPost = function(event) {
        console.log("sad");
        console.log(event.enterPage);

      }

事件未触发。 根据文档,这是受支持的。但我看不到这个事件被解雇了。 我还需要做其他设置吗?

1 个答案:

答案 0 :(得分:2)

您的导航器具有postpop处理程序,但您没有在导航器中推送页面。您正在更改标签栏中的页面,这些页面是不同的组件。请改用这些事件:http://onsen.io/reference/ons-tabbar.html#attributes

<ons-tabbar ng-controller="AppController" ons-postchange="onPopPost($event)" position="top">
   ...
</ons-tabbar>

在这里工作: http://codepen.io/frankdiox/pen/NqOELO

希望它有所帮助!