我正在尝试在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"> Latest <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);
}
事件未触发。 根据文档,这是受支持的。但我看不到这个事件被解雇了。 我还需要做其他设置吗?
答案 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
希望它有所帮助!