Hi All,

I'm not really an AngularJS guru, but am using it for a project and am 
stumped.

I'm trying to figure out how to detect a URL change with only a user 
entering the url through the menu bar.  I have looked into solutions on the 
web using $routeChangeSuccess, but that doesn't seem like an option, since 
the application I am working on is making use of ui-router instead, and the 
two seem to conflict.   It seems like my option is to use 
$stateChangeSuccess, or $locationChangeSuccess, but those events capture 
both user clicks *and* page refreshes via the address bar.

Is there some way to do a check to differentiate between what event was 
fired?

I've done something like this:

.run(['$rootScope','ngDialog','$document',$urlRouter', 
function($rootScope,ngDialog,$document,$urlRouter) {
    $document.on('click',function() {
             console.log('clicked')
    })
    $rootScope.$on('$locationChangeSuccess',function(e) {
             console.log('location change')
    });
})

This gets me somewhere, but not enough.  I notice the sequence of events 
seems to be that 'location change' shows up first, and then 'clicked' shows 
up next in the console.   It would be great if I could figure out a reverse 
order, so I could differentiate between a click and address bar change 
manually, perhaps by setting a flag when the click is fired and then 
checking that via $locationChangeSuccess.  Basically I'm trying to tell the 
difference between needing to force a page reload (via manual URL enter), 
vs clicking (don't force reload).

Has anyone been able to solve something like this?   A google search found 
topics that are somewhat along the lines, but I'm coming up short with an 
actual solution.

Thanks,
Scott Diorio


-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to