gpt4 book ai didi

angularjs - 当侧面菜单出现时 ionic 前 View 被缓存

转载 作者:行者123 更新时间:2023-12-02 23:37:45 25 4
gpt4 key购买 nike

我正在 ionic 框架上构建一个演示应用程序。我的演示 ionic 应用程序具有三种状态:

    $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>

Issue is when I am going from app.dashboard to app.demo first time, demoController is called. Then I go back to app.dashboard. And when again going to app.demo state any number of times, demoController is never called. app.demo view is cached. I don't know why.

此外,我不想在路由配置中放置cache-view=false或cache false,因为这会完全禁用该页面的缓存(向前和向后)。我想在向前方向(如 app.dashboard 到 app.demo)时重新加载页面,但在向后方向(如 app.demochild)时不重新加载页面(例如)-> app.demo。

如果我从 theme.html 中删除两个 ion-side-menu 标签,问题就会得到解决,每次前进时都会调用 demoController,但我希望两个 ion-side-menu 都存在在我的 theme.html

我什至禁用了前向缓存。

 $ionicConfigProvider.views.forwardCache(false);

任何帮助将不胜感激。

最佳答案

Ionic 在更改路线时广播多个内容,例如“$ionicView.beforeEnter”、“$ionicView.enter”等。

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

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

关于angularjs - 当侧面菜单出现时 ionic 前 View 被缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37741853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com