1

Ich benutze AngularJS für meine hybride Ionic App.AngularJS Controller funktioniert nicht nach der ersten Aktualisierungsseite

Mein Controller:

.controller('SubmitCtrl', function($scope) { 
    console.log("this just work for only refreshing the page!); 
}); 

Nur für jeden die Seite zu aktualisieren, console.log funktioniert gut, aber wenn ich auf andere Staaten wechseln und kam zu submit Zustand zurück (ohne die Seite zu aktualisieren), console.log funktioniert nicht.

Irgendeine Idee?

+0

ist es bcoz o Seitencache. – Ved

+0

@Ved Also, was soll ich tun? –

+0

Können Sie eine Geige bereitstellen? – Aides

Antwort

4

es ist bcoz Ionic Cache Ihre Seite. diesen

Versuchen
<ion-view cache-view="false" view-title="My Title!"> 
     ... 
    </ion-view> 

oder

$stateProvider.state('myState', { 
    cache: false, 
    url : '/myUrl', 
    templateUrl : 'my-template.html' 
}) 

Quelle: http://ionicframework.com/docs/api/directive/ionNavView/

+1

Ist das nur ein Feature von UI-Router mit ionischen oder unterstützt UI-Router selbst dies auch? – Aides

+0

@Aids das ist eine Frage für mich auch. –

+1

Ja, diese Funktion wird von UI-Router unterstützt – Ved

1

Obwohl @Ved diese Frage perfekt beantwortet hat, deaktivieren Sie ionische Ansicht Cache nicht eine anmutige Auflösung. Wenn Sie nur einige Teile einer Seite Controller soll ausgeführt werden, wenn Sie diese Seite aufrufen möchten, sollten Sie vielleicht Verwendung ionischer Ansicht Lebenszyklus machen:

.controller('SubmitCtrl', function($scope) { 
    $scope.$on('$ionicView.beforeEnter', function() { 
    //code in this block will be executed every time before you enter in 
    console.log("this just work for only refreshing the page!); 
    }); 
}); 

Weitere Informationen über ionische Ansicht Lifecycle finden Sie http://www.gajotres.net/understanding-ionic-view-lifecycle/ und http://ionicframework.com/docs/api/directive/ionView/. Hoffe das wird helfen, grüße!

+0

Vielen Dank. Ihre Lösung ist auch großartig. –