Winkel - / Ionen - controller nur einmal ausgeführt wird
Ich bin angefangen mit den Winkel-durch die Ionic-Framework, aber ich scheitern zu verstehen, warum der controller nur einmal ausgeführt wird, d.h. ich den Status ändern, der controller läuft, wechseln Sie zu einem anderen Staat und dann wieder zurück und der controller nicht ein zweites mal ausgeführt. Das ist mein Zustand:
$stateProvider.state( 'container.previous', {
url: 'previous',
views: {
main : {
templateUrl : 'views/previous.html',
controller : function( $scope, $cordovaSQLite ){
$scope.firms = [];
$cordovaSQLite.execute(window.db, "SELECT * FROM recent GROUP BY phone ORDER by id DESC").then(function(res) {
for (i = 0; i < res.rows.length; i++) {
$scope.firms.push(res.rows.item(i));
}
}, function (err) {
console.error(err);
});
}
}
},
onStateChangeStart : function(){
backButton = true;
}
});
In einem anderen Staat, wenn Sie auf eine Schaltfläche klicken, bezogen auf eine "Firma", es speichert die "Firmen" Daten auf einen lokalen Speicher. Oben Stand zeigt das Unternehmen, in dem Sie zuvor angeklickt haben. Aber ich kann nicht herausfinden, wie Sie das update $scope.firms
richtig wie der controller läuft nie wieder.
Kann jemand mir helfen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie den code, den Sie ausführen wollen, in $ionicView.geben Sie ein:
Finden Sie unter "View-LifeCycle und Veranstaltungen": https://ionicframework.com/docs/v1/api/directive/ionView/
Gebäude auf @brandyshea Antwort, möchte ich hinzufügen, wenn Sie möchten, um anzugeben, dass keine Zwischenspeicherung in einem Bereich/controller/Staat, und nutzen Sie die Zwischenspeicherung in anderen Bereichen, können Sie einfach die
cache
parameter in Ihrer$stateProvider
für diesen Staat.Alternativ können Sie verwenden eine der anderen Methoden zu:
Referenzen: http://ionicframework.com/docs/api/directive/ionNavView/ und http://ionicframework.com/docs/api/directive/ionView/
Brauchen Sie nicht zu deaktivieren gesamten app-cache.
Wenn Sie möchten, re-run controller jedes mal, wenn Sie auf Sie sollten Sie löschen den cache, bevor Sie es verlassen:
Ionic hat einen cache-Mechanismus im inneren. Sie können deaktivieren Sie caching Global im config-Funktion wie diese :
Setzen Sie diese in Ihre Ionen-Ansicht.
HTML: