当侧边菜单出现时缓存的离子前向视图

时间:2016-06-10 06:59:48

标签: angularjs ionic-framework angular-routing

我正在构建离子框架的演示应用程序。我的演示离子应用程序有三种状态:

    $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>&lt; 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);

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

离线时,在改变路线时会播放多种内容,例如“离子视频”,“离子视频”,“离子视频”等。等。

写入条件以检查它是否在向前/向后方向并在广播处理程序中相应地调用$ state.reload()

&#13;
&#13;
$scope.$on("$ionicView.beforeEnter", function(event, data){
  if()//check for the direction backward / forward
    {
      $state.reload();
    }
});
&#13;
&#13;
&#13;