Ich bin Migrieren von NG-View zu UI-View.AngularJS: UI-Router Redirect Sicht auf Erfolg & Refresh Scope mit neuen Inhalten
In meinem Controller, nach erfolgreicher Erstellung/Aktualisierung/Löschen, möchte ich zu einer Indexansicht mit den neu aktualisierten/erstellt/gelöschten Daten umleiten.
Ich mache dies derzeit mit $state.go
.
Das Problem ist, dass wenn der $ -Zustand geändert wird, der Bereich nicht aktualisiert wird. Es scheint, als ob die ursprünglichen admin.supplier
Scope-Daten nicht aktualisiert werden.
Ich habe versucht, die ui-view
mit $state.reload()
vor dem Festlegen des Bereichs in AdminSupplierIndexController
zu aktualisieren.
app.controller('AdminSupplierIndexController', ['$scope', '$state', 'suppliers',
function ($scope, $state, suppliers) {
$state.reload();
$scope.suppliers = suppliers;
}]);
dies tun macht die GET-Anforderung an api/v1/suppliers
, aber es nicht wirklich um die aktualisierte Umfang zeigen, wenn ich entweder den Refresh-Button im Browser getroffen oder manuell in einen anderen Zustand navigieren, dann navigieren wieder zurück.
$stateProvider
...
.state('admin.supplier', {
url : "/supplier",
templateUrl : 'templates/admin/supplier/index.html',
controller: "AdminSupplierIndexController",
resolve: {
suppliers: ['Supplier', function(Supplier) {
return Supplier.getList();
}]
}
})
.state('admin.supplier.create', {
url : "/create",
templateUrl : 'templates/admin/supplier/create.html',
controller: "AdminSupplierCreateController"
})
Lösung:
app.controller('AdminSupplierCreateController', ['$scope', '$state', 'Supplier',
function ($scope, $state, Supplier) {
$scope.h1 = "Register a new Supplier";
$scope.store = function() {
Supplier.post($scope.supplier)
.then(
function() {
console.log("Successfully Created Supplier");
// Force Reload on changing state
$state.go('admin.supplier', {}, {reload: true});
},
function(response) {
console.log("Error with status code: ", response.status);
}
);
};
}]);
Vielen Dank. Dies wurde gelöst mit: '$ state.go ('admin.supplier', {}, {reload: true});' im Erfolgs-Callback von 'Supplier.post' – Gravy
Das hat mir sehr geholfen und funktioniert genau so, wie ich es erwartet hatte zu. – carbontwelve