Ich baue eine Demo-Anwendung auf ionischen Rahmen. Meine Demo-ionische Anwendung hat drei Zustände:Ionic Forward View zwischengespeichert, wenn Seitenmenü vorhanden
$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"
}
}
});
Und theme.html sieht wie folgt aus:
<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>
Ausgabe ist, wenn ich von app.dashboard werde erstmals app.demo, demoController wird aufgerufen. Dann gehe ich zurück auf app.ashboard. Und wenn wieder zu app.demo Zustand beliebig oft gehen, ist demoController nie aufgerufen. app.demo-Ansicht wird zwischengespeichert. Ich weiß nicht warum.
Außerdem will ich nicht Cache-view = false oder Cache falsch in Routing-Konfiguration setzen, weil dass das Caching dieser Seite deaktiviert total (Forward & Rückwärts). Ich möchte die Seite neu laden, wenn ich in Vorwärtsrichtung wie app.dashboard nach app.demo gehe aber nicht nach Seite neulade, wenn ich in Rückwärtsrichtung gehe wie app.demochild (zB) -> app.demo.
Wenn ich beide Ion-side-Menü Tag aus meinem theme.html löschen, wird das Problem behoben, demoController jedes Mal aufgerufen wird, wenn in Vorwärtsrichtung gehen, aber ich will beide Ion-side-Menü vorhanden sein in meinem theme.html
Ich habe sogar die Vorwärts-Caching deaktiviert.
$ionicConfigProvider.views.forwardCache(false);
Jede Hilfe würde sehr geschätzt werden.
Hallo Fahad, Vielen Dank für Ihre Antwort neu laden. Was Sie erwähnt haben, wird für mich eine letzte Option sein, den Lebenszyklus der ionischen Ansicht zu verwenden und den Status bei Bedarf neu zu laden. Aber ich will es nicht genau. Ich möchte verstehen, warum die Ansicht "app.demo" trotzdem zwischengespeichert wird? und wenn ich sowohl das Seitenmenü entferne, was intern passiert und warum es nicht zwischengespeichert wird. – yogesh