angularjs - обновить при нажатии на ссылку с реальным URL

Я использую routeProvider для определения контроллеров и шаблонов для моих URL.

Когда я нажимаю на ссылку, которая имеет тот же URL, что и фактическое местоположение, ничего не происходит. Я хотел быreload() метод, который вызывается, если пользователь нажимает на такую ссылку, даже если местоположение не изменилось. Другими словами, если я установлю местоположение на то же значение, я бы хотел, чтобы оно велось так же, как если бы я установил его на другое значение.

Есть ли способ настроить routeProvider или locationProvider, чтобы сделать это автоматически? Или какой правильный подход сделать это? Это стандартное поведение в приложениях туда и обратно, но как это сделать в angularjs?

Я спросил об этом нагруппы Google также.

ОБНОВИТЬ:

Этот вопрос получает много просмотров, поэтому я постараюсь объяснить, как я решил свою проблему.

Я создал пользовательскую директиву для ссылок в своем приложении, как предложил Ренан Томаль Фернандес в комментариях.

angular.module('core.directives').directive('diHref', ['$location', '$route',
        function($location, $route) {
    return function(scope, element, attrs) {
        scope.$watch('diHref', function() {
            if(attrs.diHref) {
                element.attr('href', attrs.diHref);
                element.bind('click', function(event) {
                    scope.$apply(function(){
                        if($location.path() == attrs.diHref) $route.reload();
                    });
                });
            }
        });
    }
}]);

Директива затем используется для всех ссылок в моем приложении, я хочу иметь эту функцию.

<a di-href="/home/">Home</a>

Эта директива делает то, что она устанавливаетhref атрибут для вас на основеdi-href атрибут angular может обрабатывать его как всегда, и вы можете видеть URL при наведении курсора на ссылку. Кроме того, когда пользователь нажимает на него и путь ссылки совпадает с текущим, он перезагружает маршрут.

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

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