ruft ich bin Lernen AngularJS und ionische Rahmen dieses Tutorial mit:
http://www.htmlxprs.com/post/12/tutorial-on-using-parse-rest-api-and-ionic-framework-together
Alles funktioniert gut, bis der Punkt, wenn ich ein neues Element erstellen in der createTodo Zustand und rufen Sie dann $ state.go (‚todos‘) auf meinen Artikel Liste zurück zu gehen, hier ist der Code für die Todo-Controller erstellen:
.controller('TodoCreateController', ['$scope', 'Todo', '$state', function($scope, Todo, $state) {
$scope.todo = {};
$scope.create = function() {
Todo.create({content: $scope.todo.content}).success(function(data) {
$state.go('todos', {}, {reload: true});
});
}
}])
hier ist der Code für die Artikelliste Controller:
.controller('TodoListController', ['$scope', 'Todo', '$state', function($scope, Todo) {
Todo.getAll().success(function(data) {
$scope.items = data.results;
});
$scope.deleteItem = function(item) {
Todo.delete(item.objectId);
$scope.items.splice($scope.items.indexOf(item), 1);
};
}])
Hier sind die Zustände
konfigurierten, wenn die Anwendung gestartet wird, wird die Methode des TodoListController dank aufgerufen auf die letzte Zeile und das Ende der .run Methode in dem Haupt app.js hinzugefügt (oder zumindest das ist mein Verständnis):
.run(function($ionicPlatform, $state) {
$ionicPlatform.ready(function() {
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
});
$state.go('todos');
})
Mein Problem ist, dass, sobald das neue Element erstellt wird, und ich rufe $ state.go (‚todos‘) von dem TodoCreateController, es erinnert mich an den Artikelliste aber der neue Artikel ist nicht da und die Methode o f Der TodoListController wird nie aufgerufen, weshalb die Liste nicht mehr aktuell ist.
Wie kann ich die Liste im 'todos'-Zustand aktualisieren, nachdem ein neues Element erstellt wurde?
Danke Jacob, aber alle Vorschläge gehen davon aus, dass der Code in der TodoListController ausgeführt wird, nachdem ein neues Element hinzugefügt wurde. Aber das Problem bleibt bestehen. Wenn ich innerhalb von TodoCreateController $ state.go() aufruft, ändert sich der Status, aber der Code in TodoListController wird ** nicht ausgeführt ** und ich weiß nicht warum –
Durch das Einfügen des Codes in den rootScope.on statuschangesuccess wird der Code aufgerufen. Probieren Sie es aus und lassen Sie es mich wissen –
Ich tue zwar, aber der Code wird wie 3 Mal aufgerufen. Auf jeden Fall hat dein Vorschlag mir eine Idee gegeben, die gut funktioniert hat. Vielen Dank für Ihr Feedback –