将现有 Ionic 项目从 1.13-beta 更新到 1.14-beta 后,我遇到了一些无法解释的行为。从一种视图状态更改为另一种视图状态时,旧视图不会离开页面。在记录 Angular ui 路由器事件和 Ionic 导航事件后,我注意到 Ionic 的退出事件没有被触发:
$ionicView.leave
$ionicView.beforeLeave
$ionicView.afterLeave
文档:(http://ionicframework.com/blog/navigating-the-changes/)
还有其他人经历过类似的行为吗?如果是这样,您有找到解决这个问题的方法吗?
触发的事件:
$stateChangeStart: App.LoadApp.Input -> App.Main.QrToken
$viewContentLoading: Main
$viewContentLoading: QrToken
$stateChangeSuccess: App.LoadApp.Input -> App.Main.QrToken
$ionicView.beforeEnter
$ionicView.afterEnter
$ionicView.enter
如果我不将其嵌套在 Main 中,我可以在 QrToken 视图中加载,所以我相信问题就在那里。任何人都可以看一下我的主模板并帮助我找到解决方案。
<div ng-controller="fbMenuController">
<ion-side-menus>
<!-- Left menu -->
<ion-side-menu side="left">
<ion-header-bar class="bar-dark">
<h1 class="title">Menu</h1>
</ion-header-bar>
<ion-content scroll="true">
<div ng-repeat="Group in fb.Model.MenuGroups">
<ion-item class="item-divider">{{Group.Name}}</ion-item>
<!-- href="#/Main/{{Page.Name}}" -->
<a ng-repeat="Page in Group.Items" nav-transition="android" nav-direction="swap" class="item" ng-click="fb.SelectPage(Page.State)">
{{ Page.Name }}
</a>
</div>
</ion-content>
</ion-side-menu>
<!-- Center content -->
<ion-side-menu-content>
<ion-header-bar class="bar-dark" ng-show="fb.Model.ShowHeader">
<div class="buttons">
<button class="button-icon icon ion-navicon" ng-click="fb.ToggleLeftMenu()"></button>
</div>
<h1 class="title">{{ fb.Model.ActivePage.Name }}</h1>
</ion-header-bar>
<ion-content scroll="true">
<ion-nav-view name="Main">
</ion-nav-view>
</ion-content>
</ion-side-menu-content>
</ion-side-menus>
</div>
如果您的视图使用以下方式包装在选项卡中<ion-tab>
,您需要注册$ionicNavView
-Events:
$scope.$on("$ionicNavView.leave")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)