Derzeit verwendet unser Projekt die Standardeinstellung $routeProvider
, und ich verwende diesen "Hack", um Änderungen url
vorzunehmen, ohne die Seite neu zu laden:
services.service('$locationEx', ['$location', '$route', '$rootScope', function($location, $route, $rootScope) {
$location.skipReload = function () {
var lastRoute = $route.current;
var un = $rootScope.$on('$locationChangeSuccess', function () {
$route.current = lastRoute;
un();
});
return $location;
};
return $location;
}]);
und in controller
$locationEx.skipReload().path("/category/" + $scope.model.id).replace();
Ich denke dabei an Ersatz routeProvider
mit ui-router
für die Verschachtelung Strecken, kann aber nicht mit diesen in finden ui-router
.
Ist es möglich - machen Sie dasselbe mit angular-ui-router
?
Warum brauche ich das? Lassen Sie mich anhand eines Beispiels erklären: Die
Route zum Erstellen einer neuen Kategorie ist /category/new
nach clicking
SAVE, die ich zeige, success-alert
und ich möchte die Route ändern /category/new
zu /caterogy/23
(23 - ist die ID des neuen Elements, das in db gespeichert ist).
$urlRouterProvider.otherwise
scheint, als würde eine URL verwendet, kein Status. Hmmm, vielleicht könnte ich mit 2 URLs leben oder einen anderen Weg finden, um anzuzeigen, dass es sich um eine ungültige URL handelt.