相关疑难解决方法(0)

AngularJS UI路由器 - 在不重新加载状态的情况下更改URL

目前我们的项目使用默认$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;
}]);
Run Code Online (Sandbox Code Playgroud)

并在 controller

$locationEx.skipReload().path("/category/" + $scope.model.id).replace();
Run Code Online (Sandbox Code Playgroud)

我想到的替换routeProviderui-router筑巢路线,但无法找到这ui-router.

是否有可能 - 做同样的事情angular-ui-router

我为什么需要这个?让我用一个例子说明:
用于创建新类是路线/category/newclicking在SAVE我秀success-alert,我想改变路线/category/new,以/caterogy/23(23 -是存储在数据库新项目的ID)

angularjs angular-ui-router

128
推荐指数
5
解决办法
12万
查看次数

ui-router - $ state.go()无效

这是我的项目的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', { …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-ui-router

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

angular-ui-router ×2

angularjs ×2

javascript ×1