有没有办法让控制器在内部处理路径更改?

时间:2015-02-23 16:10:31

标签: angularjs

我有一个页面,其中有几个控制器需要在路由更改时进行更新。

在一个用例中,通过选择项目来更改路线。我希望处理选择逻辑的控制器在路由改变时不会重新加载。

相反,我只是想手动处理路线变化可能需要的任何逻辑。

我在另一篇文章中找到了这段代码

var lastRoute = $route.current;
$scope.$on('$locationChangeSuccess', function(event) {
    $route.current = lastRoute;
});

但所有这一切都是设置到最后一条路线的路线。不是我想要的。

我玩了下面的代码,只是为了看看我是否可以取消控制器的位置更改。

$scope.$on('$locationChangeStart', function(event) {
    event.preventDefault();
});

但这会影响所有控制器,而不仅仅是我所拥有的控制器。

有没有办法让控制器在内部处理路由更改?

另外,我知道我可以使用搜索参数执行此操作,并且控制器不会在搜索时重新加载。这是我正在研究的解决方案,但这种变化影响了太多其他控制器。

0 个答案:

没有答案