我正在构建离子框架的演示应用程序。我的演示离子应用程序有三种状态:
$stateProvider.state("app", {
abstract : true,
url : "/app",
templateUrl : "app/templates/theme.html"
});
$stateProvider.state("app.dashboard", {
url : "/dashboard",
views : {
"content" : {
templateUrl : "app/modules/dashboard/dashboard.html",
controller : "dashboardController"
},
"settings" : {
templateUrl : "app/templates/settings.html"
},
"menu": {
templateUrl: "app/templates/menu.html"
}
}
});
$stateProvider.state("app.demo", {
url : "/demo",
views : {
"content" : {
templateUrl : "app/modules/demo/demo.html",
controller : "demoController"
}
}
});
而且theme.html看起来像这样:
<ion-side-menus enable-menu-with-back-views="false">
<ion-side-menu-content drag-content="true">
<ion-nav-bar class="bar-stable nav-title-slide-ios7 two-side" align-title="center">
<ion-nav-back-button class="button-clear inverse">
<i class="icon ion-ios7-arrow-back">
</i>< Back
</ion-nav-back-button>
<ion-nav-buttons side="left">
<button menu-toggle="left" id="menuBtn" class="button button-icon icon ion-navicon inverse"></button>
</ion-nav-buttons>
<ion-nav-buttons side="right">
<button menu-toggle="right" id="settingsBtn" class="button button-icon icon ion-gear-b inverse"></button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view name="content">
</ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left">
<ion-nav-view name="menu" animation="slide-left-right"></ion-nav-view>
</ion-side-menu>
<ion-side-menu side="right">
<ion-nav-view name="settings" animation="slide-left-right"></ion-nav-view>
</ion-side-menu>
</ion-side-menus>
问题是我第一次从app.dashboard到app.demo, 调用demoController。然后我回到app.dashboard。什么时候 再次进入app.demo状态任意次,demoController是 从未打电话过app.demo视图已缓存。我不知道为什么。
此外,我不想在路由配置中放置cache-view = false或cache false,因为这会完全禁用该页面的缓存(Forward&amp; Backward)。我想在app.dashboard前往app.demo前进方向时重新加载页面,但是当我像app.demochild那样向后退方向时不重新加载页面(例如) - &gt; app.demo。
如果我从theme.html中删除了两个离子侧菜单标签,问题就会得到解决,每次前进时都会调用demoController,但我希望两个离子侧菜单都存在在我的theme.html中
我甚至禁用了正向缓存。
$ionicConfigProvider.views.forwardCache(false);
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
离线时,在改变路线时会播放多种内容,例如“离子视频”,“离子视频”,“离子视频”等。等。
写入条件以检查它是否在向前/向后方向并在广播处理程序中相应地调用$ state.reload()
$scope.$on("$ionicView.beforeEnter", function(event, data){
if()//check for the direction backward / forward
{
$state.reload();
}
});
&#13;