这基本上是对这个问题的跟进:AngularJS - 如何在生成templateUrl时使用$routeParams?请参考那里的代码,了解此问题的正确上下文。
所有导航部分都运行良好,但现在当我导航时,我想基于
所有导航部分都运行良好,但现在当我导航时,我想基于
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-click
。但是,AngularJS最让我喜欢的一点是能够使用真实的URL格式值作为href(例如:<a href="#/priNav/secNav">Foo</a>
)。 当我通过路由进行页面跳转时,是否不可能根据更改的URL更新我的模型,而无需经过控制器上的某些方法?我希望我的问题表达得清楚。
$scope.$watch($location.path, function(){});
不起作用,但是$scope.$watch(function() { return $location.path() }, function(){...});
起作用了。谢谢! - dnc253