如果AngularJS $ location.path()发生更改,请执行某些操作

时间:2014-07-09 08:55:44

标签: javascript angularjs url

我有一个导航菜单,其中包含指向不同部分的链接。此导航栏是一个列表,只有通过单击“菜单”按钮才能显示该列表。我希望在加载新部分时不会显示此列表。

因此我认为我可以使用$location.path()来检测网址上的任何更改,如果是,则删除该类。

这个想法是:

if($location.path() CHANGES){
    document.querySelector('[data-navigation]').classList.remove('open-status');
}

如何在网址更改时使用$location触发操作来创建条件语句。

Pd积。此时的网址使用主题标签。所以它将是:www.whatever.com/#about

2 个答案:

答案 0 :(得分:1)

我猜你可能意味着使用$routeChangeSuccess,比如,

$scope.$on('$routeChangeSuccess', function () {
     //location changed
     //do something here            
});

答案 1 :(得分:1)

最后我使用了两个答案的组合,这是对我有用的结果:

scope.$on('$locationChangeSuccess', function () {
    DO SOMETHING
});