目前我们的项目使用默认$routeProvider,我正在使用这个"hack",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();
我想到的替换routeProvider用ui-router筑巢路线,但无法找到这ui-router.
是否有可能 - 做同样的事情angular-ui-router?
我为什么需要这个?让我用一个例子说明:
用于创建新类是路线/category/new
后clicking在SAVE我秀success-alert,我想改变路线/category/new,以/caterogy/23(23 -是存储在数据库新项目的ID)
这是我的项目的app.js:
(function () {
'use strict';
angular
    .module('app', ['ui.router', 'ngCookies', 'angular-inview', 'ngMaterial'])
    .config(config)
    .run(run);
config.$inject = ['$stateProvider', '$urlRouterProvider', '$mdThemingProvider'];
function config($stateProvider, $urlRouterProvider, $mdThemingProvider) {
        $mdThemingProvider.theme('default')
            .primaryPalette('deep-orange')
            .accentPalette('teal', {
              'default': 'A400'
            });
        $urlRouterProvider.otherwise('/app');
        $stateProvider
            .state('app', {
                url: '/app',
                data: {
                    clearenceLevel: 1
                  },
                  views: {
                    '': {
                        templateUrl: 'app/views/navbar.html',
                    }
                }
            })
            .state('home.works', {
                url: '/works',
                templateUrl: 'app/views/works.html',
                controller: 'WorksController as vm'
            })
            .state('login', {
                url: '/login',
                templateUrl: 'app/views/login.html',
                controller: 'LoginController as vm',
                data: {
                    clearenceLevel: 0
                  }
            })
            .state('register', { …