Как обновить URL-адрес в angular js с помощью $route и $routeParams?

Как перенаправить или обновить URL-адрес? Я не могу найти хорошую документацию по этому поводу. В основном, я хочу, чтобы динамически изменять $routeParams и обновлять URL с новым значением.

Мой код выглядит следующим образом:

if ($routeParams.time) {
        var url;
        $routeParams.time = encodeURIComponent(value);
        url = '/' + $routeParams.time + '/' + 'marketing/networks';
        $location.path(url);
    } else {
        $routeParams.time = encodeURIComponent(value);
        url =  '/' + $routeParams.time + $location.path();
        $location.path(url);
    }

Ответ 1

Прочитав комментарии к моему ответу, я думаю, что, возможно, это не правильный ответ для этого случая. Прежде чем использовать это решение, прочитайте комментарии и другие ответы. Я больше не использую Angular, поэтому я не чувствую себя готовым ответить.

Я оставляю исходный ответ без изменений ниже:

Вы правильно меняете местоположение, но AngularJS не понимает, что он изменился. Вы можете решить проблему, используя метод "$ apply" вашей области действия следующим образом:

$location.path( url );
$scope.$apply();

Или вот так:

$scope.$apply( $location.path( url ) );

См. $apply documentation здесь http://docs.angularjs.org/api/ng.$rootScope.Scope

Ответ 3

вы должны использовать https://angular-ui.github.io/

щ-маршрутизатор

при использовании этого вы можете сделать...

state.go( "route-name", {id: 4});

намного лучше, чем встроенная служба маршрутизации

Самый проголосовавший ответ беспокоит!