2014-10-22 1 views
1

Я хочу изменить параметр URL-запроса без перезагрузки моего контроллера. И я не могу использовать свойство reloadOnSearch, потому что он не соответствует моим другим требованиям.AngularJS: Как изменить параметр URL без использования reloadOnSearch и не перезагружать контроллер с помощью маршрута ui?

Для примера: Path: /score?interval

я хочу, чтобы изменить значение interval без использования reloadOnSearch и контроллера не следует перезагрузить.

Можно ли это сделать с помощью Angularjs? И если да, то как?

Благодарим вас заранее!

ответ

2

Посмотрите на следующие Plunker. Он использует службу определения местоположения Angular для изменения URL без перезагрузки контроллера. Вы можете использовать этот метод для обновления параметров URL также:

$location.path('/test/item/' + $scope.itemId); 

Если вы хотите изменить только параметры URL вы можете сделать это, как показано в этом Plunker. (Предварительный просмотр в оконном режиме, чтобы увидеть его работу) Вы можете использовать $ location.search(), чтобы сделать это, как показано ниже:

$location.search('id', testId); 

Надеется, что это помогает.

+0

$ location.path используется для изменения пути, а не для параметров запроса! Или может быть, я ошибаюсь? –

+0

См. Мой обновленный ответ и пример Plunker. –

+0

Спасибо! Но это работает, если я не задал параметр 'interval' в config' $ stateProvider'. Но тогда я не могу получить значение, используя '$ stateParams'. –

Смежные вопросы