angularjs - odśwież po kliknięciu na link z rzeczywistym adresem URL

Używam routeProvider do definiowania kontrolerów i szablonów dla moich adresów URL.

Kiedy klikam link, który ma ten sam adres URL, co rzeczywista lokalizacja, nic się nie dzieje. Chciałbymreload() metoda do wywołania, jeśli użytkownik kliknie na taki link, nawet jeśli lokalizacja się nie zmieniła. Innymi słowy, jeśli ustawię tę lokalizację na tę samą wartość, chciałbym, żeby zachowywała się tak samo, jakbym ustawił ją na inną wartość.

Czy istnieje sposób, aby skonfigurować routeProvider lub locationProvider, aby zrobić to automatycznie? Albo jakie jest właściwe podejście, aby to zrobić? To jest zachowanie standardowe w aplikacjach w obie strony, ale jak to zrobić w angularjs?

Poprosiłem o togrupy google także.

AKTUALIZACJA:

To pytanie ma wiele opinii, więc postaram się wyjaśnić, jak rozwiązałem mój problem.

Stworzyłem niestandardową dyrektywę do łączenia w mojej aplikacji, jak sugerował Renan Tomal Fernandes w komentarzach.

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();
                    });
                });
            }
        });
    }
}]);

Dyrektywa jest następnie używana do wszystkich linków w mojej aplikacji Chcę mieć tę funkcję.

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

Ta dyrektywa robi, że ustawiahref atrybut dla ciebie oparty nadi-href atrybut tak kątowy może obsługiwać go jak zawsze i możesz zobaczyć adres URL po najechaniu na link. Ponadto, gdy użytkownik go kliknie, a ścieżka łącza jest taka sama jak bieżąca ścieżka, przeładowuje trasę.

questionAnswers(10)

yourAnswerToTheQuestion