目前,我们的项目是使用默认的 $routeProvider,我使用这个“黑客”,改变 url没有重新加载页面:
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;
}]);
以及 controller
$locationEx.skipReload().path("/category/" + $scope.model.id).replace();
我正在考虑用 ui-router代替 routeProvider作为嵌套路线,但是在 ui-router中找不到这个。
有没有可能——对 angular-ui-router做同样的事情?
我为什么需要这个?
让我用一个例子来解释:
创建新类别的路由是 /category/new
在保存 clicking之后,我展示了 success-alert,我想把路由 /category/new改为 /caterogy/23(23-是存储在 db 中的新项目的 id)