Javascript 基于URL的AngularJS更新模型

Javascript 基于URL的AngularJS更新模型,javascript,angularjs,Javascript,Angularjs,这基本上是一个后续问题。这个问题:。有关此问题的正确上下文,请参见我的代码 所有的导航部分都工作得很好,但是现在当我导航时,我想基于primaryNav和secondaryNav更新$scope中的一些属性。我以为我可以用$watch做点什么,但我似乎什么都做不到。以下是我尝试过的几件事: $scope.$watch($location.path(), function() {...}); //result in js error $scope.$watch($location, functio

这基本上是一个后续问题。这个问题:。有关此问题的正确上下文,请参见我的代码

所有的导航部分都工作得很好,但是现在当我导航时,我想基于
primaryNav
secondaryNav
更新
$scope
中的一些属性。我以为我可以用
$watch
做点什么,但我似乎什么都做不到。以下是我尝试过的几件事:

$scope.$watch($location.path(), function() {...}); //result in js error
$scope.$watch($location, function() {...}); //function runs once on page load, but not after that
$scope.$watch($window.location, function() {...}); //function runs once on page load, but not after that
$scope.$watch(window.location, function() {...}); //function runs once on page load, but not after that
$scope.$watch(window.location.href, function() {...}); //results in js error
我可能会在我的控制器中创建一些方法,将这些导航和更新所有内容,然后导航离开,只需在所有锚定标记中添加一个
ng单击。然而,我真正喜欢AngularJS的一件事是为HREF使用真正的URL查找值(例如,
)。当我不通过控制器上的某些方法进行路由时,是否不可能根据更改的URL更新我的模型?我希望我的要求有道理

 $scope.$watch(function() {
    return $location.path();
 }, function(){
    ...
 });

您应该传递一个可以在作用域内计算的函数或字符串

Ahh。。。我忘了看一个活动。我所尝试的一切都在一根绳子上<代码>$scope.$watch($location.path,function(){})不起作用,但
$scope.$watch(函数(){return$location.path()},函数(){…})可以。非常感谢。谢谢它甚至适用于