Подавить перезагрузку представления на основе ui-router при изменении параметров запроса

Обновленный вопрос

Вопрос в заголовке еще стоит - можно ли поймать?parameters и отмените просмотр перезагрузки.

Оригинальный вопрос: Мне нужно добавить поддержку привязки для моего приложения (привязки к темам).

Вот's как далеко я нахожусь:

angular.module('app.topics', [
    'ui.state',
    'ui.router',
    'restangular'
    'app.topics.controllers'
])
.config(function config($stateProvider) {
    $stateProvider.state('viewtopic', {
        url: '/topics/:slug?section',
        onEnter: function($stateParams) {
            // Works, as state has been reloaded.
            console.log('$stateParams', $stateParams);
        },
        resolve: {
            topic: function ($stateParams, Topic) {
                // Wrapper around Restangular. Returns promise.
                return new Topic().get($stateParams.slug);
            }
        },
        views: {
            'main': {
                controller: 'TopicCtrl',
                templateUrl: 'topics/templates/details.tpl.html'
            },
            'sidebar': {
                controller: 'SidebarCtrl',
                templateUrl: 'topics/templates/sidebar.tpl.html'
            }
        }
    });
});

angular.module('app.topics.controllers', [])
    .controller('TopicCtrl', function ($scope, topic, $rootScope, $location,
                                         $anchorScroll, $stateParams) {
        $scope.topic = topic;
        $scope.slug = $stateParams.slug;
        $scope.section = $stateParams.section;
        // ..

        $scope.$watch('$stateParams.section', function (newValue, newValue) {
            // Does not work.
            console.log('stateParams.section changed', newValue, newValue);
        });
    });

Моя корневая проблема - когда я нажимаю на ссылку с#/topics/slug-name?section=section-1состояние полностью перезагружается, что, в свою очередь, повторно запрашивает данные для темы. Как можно простообновить» параметры запроса (и перехватить это событие в контроллере), но неперезагрузить состояние (чтобы сохранить данные загружены)?

РЕДАКТИРОВАТЬ

Для моей проблемы есть довольно простое решение, которое ямы не заметили - заAngularJS документация наHashbang и HTML5 " - последний хеш доступен через$location.hash() и прокрутка может быть инициирована$anchorScroll()

Итак, мое текущее решение:

В контроллере:

$scope.$watch('$location.hash', function () {
    _.defer($anchorScroll);
});

Отсрочка необходима, потому что контент еще не может быть проанализирован и нет идентификатораs.

В шаблоне я просто должен был установить цель.#/topics/slug-name#section-name

Ответы на вопрос(3)

Ваш ответ на вопрос