gpt4 book ai didi

controller - AngularJS:在不完全重新加载 Controller 的情况下更改哈希和路由

转载 作者:行者123 更新时间:2023-12-03 07:55:08 24 4
gpt4 key购买 nike

我有一个 Controller ,路线如下:

#/articles/1234

我想在不完全重新加载 Controller 的情况下更改路线,所以我可以保持 Controller 中其他东西的位置不变(滚动的列表)

我可以想到几种方法来做到这一点,但它们都很丑陋。有没有做这样的事情的最佳实践?我尝试尝试使用 reloadOnSearch: false,但它似乎并没有改变任何东西。

最佳答案

有同样的挑战,

another StackOverflow response 中发现了一个 hack那成功了

相当干净的解决方案 - 我所做的只是将这些行添加到设置 $location.path 的 Controller 中:

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

..并确保将 $route 注入(inject)到 Controller 中。

但是,感觉就像“DoNotFollowRoutesOnPathChange”是AngularJS中缺少的功能。

/詹斯

更新:由于监听此事件有效地杀死了 $routeProvider 配置的进一步使用,我不得不将此捕获限制为仅当前路径:
    var lastRoute = $route.current;
if ($route.current.$route.templateUrl.indexOf('mycurrentpath') > 0) {
$route.current = lastRoute;
}

变丑了...

关于controller - AngularJS:在不完全重新加载 Controller 的情况下更改哈希和路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12115259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com