我有一个页面,其中有几个控制器需要在路由更改时进行更新。
在一个用例中,通过选择项目来更改路线。我希望处理选择逻辑的控制器在路由改变时不会重新加载。
相反,我只是想手动处理路线变化可能需要的任何逻辑。
我在另一篇文章中找到了这段代码
var lastRoute = $route.current;
$scope.$on('$locationChangeSuccess', function(event) {
$route.current = lastRoute;
});
但所有这一切都是设置到最后一条路线的路线。不是我想要的。
我玩了下面的代码,只是为了看看我是否可以取消控制器的位置更改。
$scope.$on('$locationChangeStart', function(event) {
event.preventDefault();
});
但这会影响所有控制器,而不仅仅是我所拥有的控制器。
有没有办法让控制器在内部处理路由更改?
另外,我知道我可以使用搜索参数执行此操作,并且控制器不会在搜索时重新加载。这是我正在研究的解决方案,但这种变化影响了太多其他控制器。